Localization 本地化为葡萄牙语时呈现struts ActionMessage的Wierd行为

Localization 本地化为葡萄牙语时呈现struts ActionMessage的Wierd行为,localization,struts1,Localization,Struts1,当此消息最终呈现为HTML时,maxNumber以1,00000格式显示。 maxNumber是一个整数,其中没有,“字符。之后,当文本本地化为葡萄牙语时,“被替换为“”。,因此数字显示为1.00.000 我不知道发生了什么事。如何解释这种行为?发生这种情况是因为用于格式化消息的当前区域设置在本地化后发生了更改。如果要将其保持为永久性的,例如,应将前缀设置为指定的区域设置键 ActionMessage message = new ActionMessage("ERRORS_MAX_NUMBER"

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


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

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

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

是否将消息格式化为区域设置
“en_US”

maxNumber的类型及其值?存储在密钥ERRORS\u MAX\u NUMBER下的消息值是多少?你在哪里看到10万个显示器?您在哪里看到显示的1.00.000?当我执行
ActionMessage message=newactionmessage(“ERRORS\u MAX\u NUMBER”,String.valueOf(maxNumber))时,问题就解决了
maxNumber
这里的类型是int。显然,当向jsp提供本地化内容时,会检查消息的类型,如果它是一个由struts/tiles格式化的数字
ActionMessage message = new ActionMessage(Locale.US.toString()+"."+"ERRORS_MAX_NUMBER", maxNumber);