【发布时间】:2010-11-19 15:58:25
【问题描述】:
我在我的一个应用程序中遇到了一点国际化问题。 故事是这样的:
我有一个显示记录的数据表和一个按顺序排列的 selectOneMenu 选择要过滤的数据表的列。 selectOne 是 提供根据实际语言环境填充的 SelectItems 在 DataRefresh 时间支持 bean。
现在,当用户更改语言环境时,selectOne 的内容会留在 旧语言环境,直到重新呈现页面。这是非常合乎逻辑和预期的。
我当然希望改变这一点。
所以我尝试编写一个自己的 selectOne,它使用 selectItems,其中包含 对 languageFile 条目的引用,以便能够在不更改它们的情况下更改它们 重新渲染。
这是我尝试过的
<select id="j_id5:filterSelector" name="j_id5:filterSelector" size="1">
<c:forEach var="item" items="#{gridBean.filterFields}">
<option value="#{item.Value}">#{msg[item.Label]}</option>
</c:forEach>
</select>
遗憾的是,JSF 告诉我该项目没有 Label 或 Value 属性,这 我几乎不相信。 ;)
有人知道如何以这种方式访问这些属性吗?
【问题讨论】:
标签: java jsf foreach selectonemenu