专注于高品质PHP技术等信息服务于一体 [STIEMAP] [RSS]

百度提供的广告:
技术文档
当前位置:首页 > 技术文档 >  > 
Jsf 国际化

Jsf 国际化
1,环境配置略请参看Jsf 快速上手案例
messages.properties
messages_en.properties
messages_zh_CN.properties
messages_zh_TW.properties
2, 注意编码必须使用 native2ascii.exe 来转换
3,调用
<f:view>
    <f:loadBundle  basename="messages" var="i18n"/>
    <h:outputText value="#{i18n.text}"></h:outputText>
</f:view>
请 注意:basename="messages" 这里的 messages就表示.properties 文件的前缀,但不可以不写。
4,.properties 文件存放路径,放到 src 目录下。
5,faces-config.xml 中进行配置
<application>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>zh_CN</supported-locale>
</locale-config>
</application>
6, 使用 bean 进行配置
1)新建一个bean I18n.java
package com.qingruxu.bean;

public class I18n {
    private String encoding="en"; //在这里给默认的语言

    public String getEncoding() {
        return encoding;
    }

    public void setEncoding(String encoding) {
        this.encoding = encoding;
    }

}
2) 配置faces-config.xml
<managed-bean>
<managed-bean-name>charset</managed-bean-name>
<managed-bean-class>com.qingruxu.bean.I18n</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>

3) 修改index.jsp
    <f:view locale="#{charset.encoding}">
    <f:loadBundle  basename="messages" var="i18n"/>
    <h:outputText value="#{i18n.text}"></h:outputText>
    </f:view>