Jsf 2 使用i18n在JSF应用程序中重新加载数据库的策略
我正在用PrimeFaces/JSF开发一个web应用程序 它具有用于语言选择的典型组合 当有人点击组合键时,将触发一个valueChangeListener 该侦听器(changeLocaleListener)更改视口区域设置,因此可以加载适当的message bundle.properties文件 这与预期的一样正常,但是,我不清楚为了从数据库中再次加载依赖于i18n的页面的实际内容而采取的策略 我的意思是,如何调用适当的actionListeners方法来刷新页面 想象一下以下场景:Jsf 2 使用i18n在JSF应用程序中重新加载数据库的策略,jsf-2,internationalization,primefaces,Jsf 2,Internationalization,Primefaces,我正在用PrimeFaces/JSF开发一个web应用程序 它具有用于语言选择的典型组合 当有人点击组合键时,将触发一个valueChangeListener 该侦听器(changeLocaleListener)更改视口区域设置,因此可以加载适当的message bundle.properties文件 这与预期的一样正常,但是,我不清楚为了从数据库中再次加载依赖于i18n的页面的实际内容而采取的策略 我的意思是,如何调用适当的actionListeners方法来刷新页面 想象一下以下场景: 您将
<p:selectOneMenu
value="#{i18nCtrl.mdl.local}"
var="loc"
onchange="$('#form').submit()"
converter="localConverter"
valueChangeListener="#{i18nCtrl.changeLocaleListener}" >
...
...
谢谢你能把当前的URL给POJO并从中重定向吗?你能详细说明一下解决方案吗?我知道viewRoot.getViewId()可以获取实际的页面url,但我不知道该怎么做我对这个很陌生。我认为应该有更聪明的人提供建议。但是,如果您可以获取页面url和更改的语言,我只需按照new lang从DB中选择相同的数据,显示此西班牙语页面。但我认为,有更好的方法可以做到这一点,我也想知道。这里需要BalusC反馈:-/