2012-02-21 65 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