JSF国际化配置
?????? 在JSF配置中的如果使用国际化,其实和其他的框架的国际化一样,JSF国际化(Internnationalization)讯息处理是基于Java对国际化的支援,您可以在一个讯息资源档中统一管理讯息资源,资源档的名称是.properties,而内容是名称与值的配对。
?????? 由于讯息资源档必须是ISO-8859-1编码,所以对于非西方语系的处理,必须先将之转换为Java Unicode Escape格式。然后使用JDK的工具程式native2ascii来转换,例如:
?native2ascii -encoding Big5 messages_zh_TW.txt messages_zh_TW.properties
?
?
在JSF中的faces-servlet.xml配置中信息:
<!-- 国际化配置 在<local-config>一定有一个<default-locale>,而<supported-locale>可以有好几个,这告诉JSF您的应用程式支援哪些语系。 --> <!-- <f:view>可以设定locale属性,直接指定所要使用的语系 加载国家化的方法 JSF会根据<f:loadBundle>的basename属性加上<f:view>的locale属性来决定要使用哪一个讯息资源档 --><application> <locale-config> <default-locale>en_US</default-locale> <supported-locale>zh_CN</supported-locale> </locale-config> <message-bundle> messages </message-bundle> </application>
?
?
?
使用<f:loadBundle>标籤来指定载入讯息资源。
<f:view locale="en_US"><f:loadBundle basename="messages" var="msgs"/>
?
使用如下:
<h:outputLabel value="#{msgs.math_num0}"></h:outputLabel> <h:inputText id="num0" value="#{mathService.num0}" > </h:inputText> <h:message for="num0" ></h:message>?