標籤:
jsp中出現<f:loadBundle basename="messages_zh_CN" var="msgs" />
還有src目錄下有messages_zh_CN.properties等類似檔案。 看了下面的教程你就知道這些是什麼檔案以及做什麼用的。
一下部分來自http://javazheng.iteye.com/blog/766294
1,首先,為不同的語言分別準備一個.properties檔案。比如,若要支援英文,中文,日文,則英文可以為Messages.properties,中文為Messages_zh.properties,日文為Messages_ja.properties等。
檔案內容的形式為:
message-key=message-value
userName=使用者名稱:
.properties檔案打包之前必須轉換成ascii碼形式,可以以目錄階層形式加以組織,共置於WEB-INF目錄下。比如資源檔的目錄階層可以為:
WEB-INF\com\test\resource\Messages.properties
WEB-INF\com\test\resource\Messages_zh.properties
WEB-INF\com\test\resource\Messages_ja.properties
2,然後在JSP裡通過f:loadBundle標籤載入該.properties檔案,比如載入具有上面階層的資源檔:
<f:loadBundle basename="com.test.resource.Messages" var="msg" />
其中basename為資源檔所在的位置(com\test\resource)與名稱(Messages)。var為載入後的變數名。JSF可以根據使用者瀏覽器的配置自動裝載匹配的資源檔。
然後使用h:outputText輸出頁面內容
<h:outputText value="#{msg[‘message-key‘]}"></h:outputText>
或者
<h:outputText value="#{msg.message-key}"></h:outputText>
就可以了。
另外,需要JSF支援所規定的語言,需要在faces-config.xml加上類似以下配置:
view plaincopy to clipboardprint?
<faces-config>
<application>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>zh</supported-locale>
<supported-locale>ja</supported-locale>
</locale-config>
</application>
</faces-config>
<faces-config>
<application>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>zh</supported-locale>
<supported-locale>ja</supported-locale>
</locale-config>
</application>
</faces-config>
該配置告訴JSF架構,預設的語言配置以及需要支援哪些語言配置。
JSP -> f:loadBundle用法