在本地化为葡萄牙语时渲染struts ActionMessage的奇怪行为

时间:2013-08-17 13:30:49

标签: localization struts1

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

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

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

1 个答案:

答案 0 :(得分:0)

这是因为用于格式化消息的当前区域设置在本地化后发生了更改。如果要保持永久性,则应为指定的区域设置键添加前缀,例如

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

会将邮件格式化为区域设置"en_US"