3
我注意到使用g.message
標記解析Grails消息時出現了一些奇怪的行爲。如果我解決這個與用參數解析消息
deleted={0} has been deleted
:在我的屬性文件中,我定義這個消息
Long id = 1878L
message(code: 'festival.deleted', args: [id.toString()])
結果是:
1878年已被刪除
這是我所期望的。但是,如果我解決這個問題:
Long id = 1878L
message(code: 'festival.deleted', args: [id])
結果是:
1,878之前已被刪除
這不是很清楚,我爲什麼編號的格式爲「1,878」它被代入消息。我想也許是toString()
呼籲所有消息的參數,如果他們不是已經String
型的,但是這似乎並沒有解釋這種行爲,因爲
id.toString() == "1878"
我不知道,你可以包括在參數佔位符的格式化信息,謝謝! –
你忘了在這裏提到'Locale'的重要性。 'NumberFormat.getInstance()'使用默認的語言環境。英國和美國的數字格式相同(1,878)。將語言環境更改爲法語(在taglib中),您會看到數字格式的差異。所以,它是驅動格式的區域,不僅僅是'NumberFormat'。 @多納爾 – dmahapatro