更改Tapestry中的区域设置4

时间:2014-04-17 11:21:05

标签: java tapestry

我已创建登录页面,我从下拉列表中获取用户首选语言。成功登录后,将使用选定的区域设置而不是浏览器的区域设置

对于前面提到的场景,我在下面的代码

        Locale.Builder langBuider = new Locale.Builder();
        langBuider.setLanguageTag( getSelectedLocale() );
       getEngine().setLocale( langBuider.build() );

即使此区域设置未更新。我发现为了使其从同一请求生效,我必须使用更新的语言环境更改重新创建页面

       IRequestCycle requestCycle = getRequestCycle();
       requestCycle.cleanup();
       requestCycle.activate( "Home" );

但添加此代码后,Tapestry会抛出异常

1 个答案:

答案 0 :(得分:1)

我也遇到了类似的问题。我做了一点修改

IPage page = requestCycle.getPage( "pageName");
requestCycle.activate( page );

这对我有用