我已创建登录页面,我从下拉列表中获取用户首选语言。成功登录后,将使用选定的区域设置而不是浏览器的区域设置
对于前面提到的场景,我在下面的代码
Locale.Builder langBuider = new Locale.Builder();
langBuider.setLanguageTag( getSelectedLocale() );
getEngine().setLocale( langBuider.build() );
即使此区域设置未更新。我发现为了使其从同一请求生效,我必须使用更新的语言环境更改重新创建页面
IRequestCycle requestCycle = getRequestCycle();
requestCycle.cleanup();
requestCycle.activate( "Home" );
但添加此代码后,Tapestry会抛出异常
答案 0 :(得分:1)
我也遇到了类似的问题。我做了一点修改
IPage page = requestCycle.getPage( "pageName");
requestCycle.activate( page );
这对我有用