Struts2将语言环境保存在cookie中

时间:2012-03-05 11:00:44

标签: struts2

我希望在浏览器cookie中保存请求区域设置,以便下次创建新用户会话时 读取此“locale”cookie并显示特定页面。 需要一种方法在struts2中执行此操作

1 个答案:

答案 0 :(得分:0)

Struts dosn没有将其作为功能构建。

首先,您需要使用JavaScript保存Cookie

document.cookie = "locale_cookie=fa_IR";

第二次扩展I18nInterceptor并更改getLocaleFromParam。您可以添加来自cookie功能的阅读(您也可以扩展其他方法):

该方法应该如下所示:

@Override
getLocaleFromParam () {

  //read cookie and find cookie which its name is locale_cookie
  Cookie[] cookies = ServletActionContext.getRequest().getCookies();

  for (int i = 0; i < cookies.length; i++) {
       if( "locale_cookie".equals(cookie.getName()){
          return LocalizedTextUtil.localeFromString( cookie.getName());
        }       
   }
  ..............
  //The rest method
}