2012-02-21 48 views
2

在开发环境中使用我的应用程序时,所有货币都由JSF正确转换。 但是,当我将其部署到我的生产服务器(托管在其他地方)时,的转换不正确(请参见下文)。JSF f:convertNumber仅在本地主机上正确转换货币

我认为区域设置是通过浏览器请求(使用相同的浏览器)正确设置的...
还有什么我可以尝试让JSF正确地转换货币吗?

谢谢!

<f:convertNumber currencyCode="EUR" type="currency" /> 

On localhost: 1.231,34 € 
On prod host: EUR1,231.34 

该prod主机将其转换为美式风格,但我预计德国风格。

回答

2

我认为您需要将语言环境添加到convertNumber标记。 prod服务器的JVM可能被设置为不同的/默认语言环境。

+0

是的,当我记录JSF的viewRoot语言环境时,它是en_US。这有点让我困惑,因为不是服务器语言环境(这是德语)应该确定jsf语言环境,浏览器请求应该这样做......好吧。解决方案是在会话Bean中使用Locale属性,并使用f:convertNumber的locale =“#{sessionBean.locale}”属性。谢谢 – SpecialAgent 2012-02-22 06:57:47