从XHTML访问JSF SelectItem.Label和值,而不selectOneMenu用于
-
16-09-2019 - |
题
我有一点国际化问题在我的应用程序之一挣扎。 故事是这样的:
我有一个数据表,其显示记录,并且一个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告诉我的项目不具有标签或值的属性,该属性 我几乎不敢相信。 ;)
有没有人的得到一个想法如何使用这种方法访问thise属性?
解决方案 2
我解决了存储filterfields两次的问题。一旦为每种语言 - 运行decission被渲染。不是一个很好的一个,但它的作品。 Could'nt得到的ChangeListener去......
其他提示
在我看来,你应该写:
#{item.value}
代替#{item.Value}
,作为标准的JavaBeans约定是具有getXyz()
吸气剂为xyz
属性。
另外,你为什么不提供一个valueChangeListener
为区域选择的UI组件,然后,它里面填充选择项目标签为语言环境。这样,你可以使用标准的f:selectItems
标签。
您也可以把它使你的命令链接重新渲染页面,使其自动完成你需要它的。不知道这是否符合您的要求或没有。 :)
不隶属于 StackOverflow