2012-03-05 56 views
2

我希望在浏览器Cookie中保存请求语言环境,以便下次创建新用户会话时 读取此“语言环境”Cookie并显示特定页面。 需要一种方式来做到这一点struts2Struts2在Cookie中保存语言环境

+0

你可以设置Cookie像往常一样的方式,后来就可以使用cookie拦截阅读cookies – 2012-03-05 11:22:08

回答

0

Struts dosn't没有这个作为构建功能。

首先,你需要保存一个cookie使用JavaScript

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 
}