在我的应用程序中,在登录页面上,页面顶部有一个语言选项。
如果我选择中文,一切都会完美地翻译成中文。
如果我点击Refresh
按钮 或Ctrl + R
,页面仍然是中文的。但是,如果我打开另一个指向相同 URL 的选项卡,即使语言选项仍然显示Chinese
已选择,一切都会再次变为英语。
但是,如果您单击About us
或Methodology
,则下一页将再次显示为中文。
如果您能告诉我我在这里做错了什么,我将不胜感激。
最好的祝福,
在我的应用程序中,在登录页面上,页面顶部有一个语言选项。
如果我选择中文,一切都会完美地翻译成中文。
如果我点击Refresh
按钮 或Ctrl + R
,页面仍然是中文的。但是,如果我打开另一个指向相同 URL 的选项卡,即使语言选项仍然显示Chinese
已选择,一切都会再次变为英语。
但是,如果您单击About us
或Methodology
,则下一页将再次显示为中文。
如果您能告诉我我在这里做错了什么,我将不胜感激。
最好的祝福,
您如何设置UIViewRoot
.
它应该<f:view locale>
在您的主模板中按照以下方式完成,也许您对所有其他页面都有此权限,但对主页没有此权限。
例如
<!DOCTYPE html>
<html lang="#{localeBean.language}"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
...
>
<f:view locale="#{localeBean.locale}">
<h:head>
...
</h:head>
<h:body>
...
</h:body>
</f:view>
</html>
哪里#{localeBean}
有一个和这个@SessionScoped
相似的。
顺便说一下,这个问题表明这些页面不共享一个公共主模板,并且您正在到处复制 XHTML 代码。我也会努力的:)