【发布时间】:2011-02-08 22:10:04
【问题描述】:
我想在我的应用程序中有一个动态资源包。我将向用户显示一个表单,他可以在其中编辑资源包的值。我无法重新启动我的应用程序以使此更改生效。我找到了解决部分问题的解决方案。使用 Apache 的“commons-configuration”或/和这个http://www.coderanch.com/t/292347/JSP/java/we-reload-property-file,我可以更改我的“.properties”文件并使用“ResourceBundle.getBundle”获取结果。 问题是当我尝试像这样访问我的 XHTML 文件中的属性时:
<h:outputLabel value="#{msg[user.name]}" />
此键的值已过期。
有解决办法吗?
仅供参考,我使用的是 spring,所以我的 faces-config 中有这个:
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
但我认为这不是问题所在。无论如何,另一种解决方案是使用会话 bean 并获取访问它的属性值。 你怎么看待这件事?将这些值存储在我的数据库中并忘记属性文件会更好吗?
【问题讨论】:
-
相关:stackoverflow.com/questions/4325164/…请注意arjan的回答。
-
谢谢大哥!我也会尝试 arjan 代码。我已经得到了预期的结果。当我尝试更改“config.dataTable.rowsPerPage”之类的配置时遇到了一个小问题,但我认为这应该是一个 primefaces 问题。
标签: jsf dynamic resources properties bundle