何时以及如何使用<resource-bundle>和<message-bundle>标记本地化faces-config.xml?这两者之间的差异对我来说不是很清楚.
我有一个用于本地化的属性文件:
foo=Bar
title=Widget Application
Run Code Online (Sandbox Code Playgroud)
这与resource-bundlefaces-config中的a相关:
<resource-bundle>
<base-name>com.example.messages.messages</base-name>
<var>msgs</var>
</resource-bundle>
Run Code Online (Sandbox Code Playgroud)
我可以使用EL在facelets视图中访问它:
<title>#{msgs.title}</title>
Run Code Online (Sandbox Code Playgroud)
但是,如果有像SQLExceptions这样的东西,我需要能够从托管bean编写消息.这一切都有效:
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "There was an error saving this widget.", null);
FacesContext.getCurrentInstance().addMessage(null, message);
Run Code Online (Sandbox Code Playgroud)
这是问题所在:我希望这些消息来自属性文件,以便它们也可以根据区域设置进行更改.有没有一种简单的方法来使用注入访问属性文件?