动态JSF资源包/消息包

动态JSF资源包/消息包,jsf,dynamic,resources,properties,bundle,Jsf,Dynamic,Resources,Properties,Bundle,我希望在我的应用程序中有一个动态资源包。我将向用户显示一个表单,用户可以在其中编辑资源包的值。由于此更改生效,我无法重新启动应用程序。我找到了一个解决部分问题的方法。使用Apache中的“commons配置”或/和此,我可以更改我的“.properties”文件,并使用“ResourceBundle.getBundle”获得结果。 问题是当我尝试访问XHTML文件中的属性时,如下所示: <h:outputLabel value="#{msg[user.name]}" /> 此键

我希望在我的应用程序中有一个动态资源包。我将向用户显示一个表单,用户可以在其中编辑资源包的值。由于此更改生效,我无法重新启动应用程序。我找到了一个解决部分问题的方法。使用Apache中的“commons配置”或/和此,我可以更改我的“.properties”文件,并使用“ResourceBundle.getBundle”获得结果。 问题是当我尝试访问XHTML文件中的属性时,如下所示:

<h:outputLabel value="#{msg[user.name]}" />

此键的值已过期。
有解决办法吗

仅供参考,我正在使用spring,因此我在faces配置中有以下内容:

<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
org.springframework.web.jsf.el.SpringBeanFacesELResolver
但我认为这不是问题所在。无论如何,另一个解决方案是使用会话bean并获取访问它的属性值。 你觉得怎么样?最好将这些值存储在我的数据库中,而忽略属性文件?

\o/


我已经测试过使用标记f:loadBundle将我的资源包定义从我的faces配置移动到我的页面,它成功了

相关:请注意arjan的回答。谢谢兄弟!我也会尝试arjan代码。我已经得到了预期的结果。当我尝试更改诸如“config.dataTable.rowsPerPage”之类的配置时,我遇到了一个小问题,但我认为这应该是一个问题。