Struts2 国际化处理

1.配置struts-xml

           <constant name="struts.custom.i18n.resources" value="application" />

2.定义配置文件

         application_en_GB.properties

         application_zh_CN.properties

         application_fr_FR.properties

        .......

3.模版页面(such as header.jsp)

             <form  id="languageSelection" method="post">

                    <s:hidden name="request_locale" id="request_locale" value="%{locale}"/>

                    <s:select 

                       requiredLabel="true" 

                       list="i18nLanguageList

                       listValue="%{languageValue}" 

                       listKey="languageKey" 

                       value="%{locale}"

                       onchange="selectLanguage(this.value)"

                       /> 

                </form>

<script type="text/javascript">

 

    function selectLanguage(language) {

        $("#request_locale").val(language);

        $("#languageSelection").attr("action", document.location.href);

        $("#languageSelection").submit();

    }

</script>

4.所有Action中都需要继承一个BaseAction,早BaseAction中定义下面的变量

            /** The i18nLanguageList. */

           protected List<Map<String, String>> i18nLanguageList;

            Map<String, String> tempLanguageMap = new HashMap<String, String>();

           

            .........................

语言设置,也可以从配置文件中获取

    /** Bundle for main configuration. */

 

    protected static ResourceBundle mainConfiguration = ResourceBundle.getBundle("languageSet");

定义l

 

你可能感兴趣的:(struts)