您不应将拦截器定义的会话密钥用于内部用途,以获取操作区域设置。
如果拦截器
request_locale检测到参数,则
i18n创建请求的语言环境,并将其置于操作上下文以及拦截器指定的键下的会话中。
如果对拦截器的下一个请求不包含
request_locale参数,则它将获取保存在会话中的语言环境,如果未找到,则使用请求语言环境。
拦截器再次将返回的语言环境放置到动作上下文中。因此,要获取供struts标记使用的语言环境,应使用
Locale locale = ActionContext.getContext().getLocale();



