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