jsf国际化

com.jboss.demo.message.MessageBundle.properties 

user_password=password
user_name=user name
button_login=login

 com.jboss.demo.message.MessageBundle_en.properties 

user_password=password
user_name=user name
button_login=login


 com.jboss.demo.message.MessageBundle_zh_CN.properties

user_password=\u5BC6\u7801
user_name=\u7528\u6237\u540D
button_login=\u767B\u5F55

JSF会根据浏览器送
来的Accept-Language header中的内容来决定该使用哪一个资源文件名称,例如: 
Accept-Language: zh_CN, en-US, en 
如果浏览器送来这些header,则预定义会使用简体中文,接着是美式英文,再
来是英文语系, 如果找不到对应的信息资源文件, 则会使用预定义的信息资源文件。 

<f:view locale="en">
    <f:loadBundle basename="com.jboss.demo.message.MessageBundle" var="msgs"/> 
        <h:form>
            <h3>请输入您的名称</h3>
      <h:outputText value="#{user.errorMsg}"></h:outputText>   <br/>   
      <h:outputText value="#{msgs.user_name}" /> : <h:inputText value="#{user.name}" /> <br/>
     密码:<h:inputSecret value="#{user.password}" /> <br/>
     <h:commandButton value="提交" action="#{user.verify}" />
 </h:form>

您也可以在faces-config.xml中设定语系,例如: 
<faces-config> 
<application> 
<local-config> 
<default-locale>en</default-locale> 
<supported-locale>zh_CN</supported-locale> 
</local-config> 
</application> 
..... 
</faces-config> 
在<local-config>一定有一个<default-locale>,而<supported-locale>可以有好几
个,这告诉JSF您的应用程序支持哪些语系。 

或加截用户的选择参数

<f:view locale="#{user.locale}"> 

猜你喜欢

转载自cai-bird.iteye.com/blog/1731129