Internationalization 如何在加载页面时从DB自动设置STRTU 2中的i18n

Internationalization 如何在加载页面时从DB自动设置STRTU 2中的i18n,internationalization,Internationalization,我创建了一个下拉列表,区域设置类型为english、franch等和save按钮。当我保存下拉列表时,该值保存在数据库中。。我还创建了从数据库获取数据并存储在变量中的方法 我的要求是在登录后打开任何页面,然后根据用户区域设置自动设置区域设置 jsp: //下面的代码也不适用于所有页面 sessionMap.put(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE, "fr"); sessionMap.put("WW_TRANS_I18N_LOCALE", "

我创建了一个下拉列表,区域设置类型为english、franch等和save按钮。当我保存下拉列表时,该值保存在数据库中。。我还创建了从数据库获取数据并存储在变量中的方法

我的要求是在登录后打开任何页面,然后根据用户区域设置自动设置区域设置

jsp:

//下面的代码也不适用于所有页面

 sessionMap.put(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE, "fr");
 sessionMap.put("WW_TRANS_I18N_LOCALE", "fr");
找到解决办法了

//en= ISO-639 Language Codes
//US=ISO-3166 Country Codes

 String userLocale="en_US"; // this data is get from db , for french fr_FR
                String userLanguage = userLocale.substring(0, 2);
                String userCountry = userLocale.substring(3, 5);
                Locale locale = new Locale(userLanguage,userCountry);
                ActionContext.getContext().setLocale(locale);
                sessionMap.put(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE, locale);
// window.location.href='<c:url value="?request_locale=fr"/>'; 
/*<interceptor-ref name="defaultStack">
                <param name="i18n.parameterName">user.requestLocale</param>
            </interceptor-ref> */
 <s:url id="url" action="reloadupdate">
    <s:param name="request_locale">%{locale.requestLocale}</s:param>
    </s:url>
    <s:a href="%{url}">Default Locale</s:a> 
ActionContext.getContext().setLocale(Locale.FRANCE);
 sessionMap.put(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE, "fr");
 sessionMap.put("WW_TRANS_I18N_LOCALE", "fr");
//en= ISO-639 Language Codes
//US=ISO-3166 Country Codes

 String userLocale="en_US"; // this data is get from db , for french fr_FR
                String userLanguage = userLocale.substring(0, 2);
                String userCountry = userLocale.substring(3, 5);
                Locale locale = new Locale(userLanguage,userCountry);
                ActionContext.getContext().setLocale(locale);
                sessionMap.put(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE, locale);