JSP -> f:loadBundle用法
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框架,默认的语言配置以及需要支持哪些语言配置。