就是想在页面上动态的切换语言Locale;
试过
ActionContext.getContext().setLocale(Locale locale);
还有url上加request_locale="en_US"通过一个action后转发回原页面,成功切换,甚至基于这个请求继续的转发都成功切换;
但是我重定向到原页面,就失败了。想过写一个filter,就是不管什么请求都拦截,在里面更改Locale,因为我决的好像没经过action就没拦截器一样,但又不知道
刚开始请求(没actions)时struts2又如何判断Locale的...纠结

解决方案 »

  1.   

    自沙一个
    我决的好像没经过action就没拦截器一样
    不知道对否,对底层实在不是很了解
      

  2.   

    LZ的想法是对的。经过action就没拦截器一样,可以写过滤器改变Locale
      

  3.   

    ServletActionContext.getContext().setLocale(Locale.US);
    request.getSession().setAttribute("WW_TRANS_I18N_LOCALE",Locale.US);我在过滤器里加上了这些仍然无效
      

  4.   

    看看i18n拦截器的源码,调试跟踪一下,相信LZ会明白的。