2011-04-04 48 views
0

我使用Spring MVC爲webapp編寫了一個webservice。 用戶可以更改語言環境以及他的頁面語言,因此使用此信息完成對我的web服務的調用。有關信息,在啓動時,我爲webapp配置加載了幾個bean。這些豆屬性需要國際化Spring MVC Webservice的更新bean(I18N)

我的問題是我如何直接從用戶調用更新我的bean的值?

+1

我很想明白你想要什麼,但我恐怕不知道。我的理解是,你有Spring MVC應用程序,並且你想讓用戶能夠根據需要改變他/她的語言。然而,我完全忽略了這一點 - 你想要國際化的Beans屬性?和它加載(或事實上注入這些豆)有什麼關係? – 2011-04-04 16:24:46

+0

也許我不夠清楚,我對此感到抱歉......確實,我有一個Spring MVC webservice,它爲webapp提供配置。用戶可以更改他的web應用程序的語言環境,並因此對我的web服務進行新的調用。配置在我的beans中設置,這就是我發回給用戶的數據。通過這種方式,我需要讓我的bean國際化...但是在經過幾次搜索之後,我認爲我錯過了這一點,我將考慮用Freemarker或速度及其模板來實現這一技巧。 – Celero 2011-04-05 07:48:07

回答

0

這裏有兩件事情:

一個是國際化的整體架構。最好豆(控制器,模型)不應該包含任何可翻譯的文本,因此不需要做國際化的工作來使它們可以本地化。這是在實踐中不經常發生的理想情況。

另一種方法是使控制器可本地化。再次,有兩種可能的方法:一種是使用資源鍵而不是字符串,消息等,並在視圖中將其解析爲真正的翻譯,在將其顯示給用戶之前,另一種方法是使控制器從資源讀取這些消息 - 你說你知道Locale,所以可以完成。如果你打算使用後一種解決方案,那麼你可能需要限制你的範圍請求(因爲不同的用戶可能想要使用不同的語言,並且據我瞭解用戶可能想要改變他們的語言)。

+0

是的,你是對的。我想要在我的web服務中改變我的概念,並嘗試適應I18N。謝謝 – Celero 2011-04-05 10:08:07