Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Struts2中的Requestprocessor.processLocale方法的等价物是什么?_Java_Struts2_Internationalization_Migration_Locale - Fatal编程技术网

Java Struts2中的Requestprocessor.processLocale方法的等价物是什么?

Java Struts2中的Requestprocessor.processLocale方法的等价物是什么?,java,struts2,internationalization,migration,locale,Java,Struts2,Internationalization,Migration,Locale,我是Struts 2的新手,我正在将Struts 1代码迁移到Struts 2,在这里我有一个场景,比如,Action Servlet被扩展,在扩展类“process”方法中,locale被设置在请求中,如下所示 public class TestServlet extends ActionServlet { protected void process(HttpServletRequest request, HttpServletResponse response)

我是Struts 2的新手,我正在将Struts 1代码迁移到Struts 2,在这里我有一个场景,比如,Action Servlet被扩展,在扩展类“process”方法中,locale被设置在请求中,如下所示

public class TestServlet extends ActionServlet  {

    protected void process(HttpServletRequest request, HttpServletResponse response)
                    throws IOException, ServletException {
            Locale locale = Locale.ENGLISH;
        locale = Locale.FRENCH;
        request.setAttribute("_locales", locale);

        super.process(request, response);

    }

}


如何将此更改迁移到struts 2中。Struts 2中的等效方法是什么

在Struts2中,您不再需要actionservlet或requestprocessor,一切都通过
i18n
拦截器完成

希望你能找到答案的帮助

Struts2国际化拦截器i18n可用于 动态地将当前用户区域设置更改为用户特定的区域设置 用于用户的会话

或者,仅针对当前请求(自XWork 2.1.3起)

通过发出HTTP请求并提供请求参数 请求带有区域设置值的区域设置,如“en_US”,它创建 美国英语的语言环境

默认情况下,此区域设置保存在会话中的 “WW_TRANS_I18N_LOCALE”属性,并在 用户会话。当前区域设置也被推送到 此拦截器根据每个请求生成ActionContext映射。这允许 支持本地化的框架组件都使用 ActionContext的区域设置



另外,如果您想了解如何获取当前语言环境,您应该阅读我的答案。

我是否需要为每个操作在struts.xml文件中配置i18n拦截器,还是为所有操作自动启用?它将如何在会话中只设置区域设置“en”和“fr”?您还有其他问题吗?您可以将其作为新问题发布,评论部分用于澄清当前问题或答案。如果你有足够的声誉,你可以对任何问题或答案发表评论。如果答案有助于你解决问题或通过阅读了解问题,请不要忘记接受答案。因为这里很少有人向上投票。如果你觉得这个答案有帮助,请毫不犹豫地向上投票。