根据操作系统$ LANG值,JSF页面中数字的显示不同。例如,使用代码:
<h:outputText value="#{myController.myNumberValue}" />
使用$ LANG = en_US.ISO-8859-1,我有“623,451”。使用$ LANG = fr_FR.UTF-8,我有“623 451”。
我的问题是我的应用程序如何独立于操作系统配置?
我在faces-config.xml中尝试了以下配置,但它不起作用:
<locale-config>
<default-locale>en</default-locale>
</locale-config>
我还尝试在以下标记中封装h:outputText标记,但它也不起作用:
<f:view locale="en">
<h:outputText value="#{myController.myNumberValue}" />
</f:view>
有什么想法解决我的问题吗?
提前致谢。
答案 0 :(得分:0)
JSF使用默认语言环境调用Integer.toString()或Long.toString()方法。
第一个解决方案:
致电Locale.setDefault(myHardcodeLocale);
第二个解决方案:
创建自定义格式化程序。您可以使用facelets并为数字创建自己的outputText。
<h:outputText value="#{myController.myNumberValue}">
<f:convertNumber type="#,###.00"/>
</h:outputText>