【发布时间】:2013-06-16 13:17:51
【问题描述】:
我有一个属性文件以两种方式链接(使用 f:loadBundle 和 faces-config.xml),两者都具有不同的 var 名称。所以它看起来像下面这样:
datatypes.properties:
A=first
B=second
C=third
faces-config.xml:
<resource-bundle>
<base-name>datatypes</base-name>
<var>myProp</var>
</resource-bundle>
myPage.xhtml:
<f:loadBundle basename="datatypes" var="prop"/>
在 myPage.xhtml 中,我列出了属性文件中的所有键。我似乎无法理解的是,当我在下面的代码中使用#{prop} 时,它可以工作,但是当我用#{myProp} 替换它时,列表不再显示。
<h:form>
<h:selectManyListbox id="list">
<f:selectItems value="#{myProp}"></f:selectItems>
</h:selectManyListbox>
</h:form>
我认为这意味着这两种情况下的变量在幕后并不相同,但如果有人能解释(或指出我的解释)它们有何不同,我将不胜感激。理想情况下,我希望只使用#{myProp},而不必在代码中提取密钥并将它们存储在列表中。
谢谢。
【问题讨论】:
标签: jsf-2 resourcebundle