0
ActionMessage message = new ActionMessage("ERRORS_MAX_NUMBER",maxNumber);

当此消息最终呈现为 HTML 时,会以1,00,000maxNumber格式显示。这是一个int,其中没有','字符。之后,当文本本地化为葡萄牙语时,“,”将替换为“。” 因此数字显示为1.00.000maxNumber

我不知道发生了什么事。如何解释这种行为?

4

1 回答 1

0

发生这种情况是因为用于格式化消息的当前语言环境在本地化后发生了变化。如果要使其永久保留,则应为指定的语言环境键添加前缀,例如

ActionMessage message = new ActionMessage(Locale.US.toString()+"."+"ERRORS_MAX_NUMBER", maxNumber);

会将消息格式化为 locale "en_US"

于 2013-08-18T09:29:13.717 回答