在我的应用程序中,用户是从登录页面动态选择语言环境的,我将所选的语言环境保存在Cookie中。

在我的Web应用程序中发生重定向时,我面临与I18n相关的问题。

当我通过附加当前语言环境通过URL重定向页面时,我的应用程序语言仍与所选语言相同(即,在这种情况下工作正常),但是当我通过struts.xml文件中定义的struts重定向重定向到下一页时,语言环境更改为默认值(在我的情况下为英文)。

例如:

如果是-<result name="success" type="redirect">,则区域设置将更改为默认设置。

如果我删除了type=redirect,那么它可以正常工作,但是我的表单将被提交两次。

那么有什么方法可以在运行时将语言环境附加到struts重定向上吗?

这是我的拦截器堆栈之一:

<interceptor-stack name="sessionValidateStack">
    <interceptor-ref name="auditTrail"></interceptor-ref>
    <interceptor-ref name="sessionCheck"></interceptor-ref>
    <interceptor-ref name="service">
        <param name="code">DG</param>
        <param name="interfaceType">WEB</param>
    </interceptor-ref>
    <interceptor-ref name="defaultStack"></interceptor-ref>
    <interceptor-ref name="expHandler"></interceptor-ref>
</interceptor-stack>

最佳答案

在参数中添加request_locale=<your_language_key>

09-09 16:59