我想在我的应用程序中拥有一个动态资源包。我将向用户显示一个表单,他可以在其中编辑Resource Bundle的值。我无法重新启动我的应用程序以使此更改生效。我找到了解决部分问题的解决方案。使用Apache或/和http://www.coderanch.com/t/292347/JSP/java/we-reload-property-file中的“commons-configuration”,我可以更改我的“.properties”文件,并使用“ResourceBundle.getBundle”获取结果。 问题是当我尝试在我的XHTML文件中访问该属性时:
<h:outputLabel value="#{msg[user.name]}" />
此键的值已过期。
有解决方案吗?
只是为了获取信息,我使用的是Spring,所以我在face-config中有这个:
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
但我不认为这是问题所在。无论如何,另一种解决方案是使用会话bean并获取访问它的属性值。 你怎么看待这件事?会更好地将这些值存储在我的数据库中并忘记属性文件吗?
答案 0 :(得分:0)
\ O /
我已经测试过使用标签f:loadBundle将我的资源包定义从我的faces-config移动到我的页面并且它有效!