gpt4 book ai didi

java - 在不使用 selectOneMenu 的情况下从 XHTML 访问 JSF SelectItem.Label 和 Value

转载 作者:行者123 更新时间:2023-12-01 16:10:53 25 4
gpt4 key购买 nike

我在我的一个应用程序中遇到了一点国际化问题。故事是这样的:

我有一个显示记录的数据表,以及一个按顺序的 selectOneMenu选择要过滤的数据表的列。 selectOne 是提供了根据实际区域设置填充的 SelectItemsDataRefresh 时间上的支持 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 属性,这我简直不敢相信。 ;)

有人知道如何以这种方式访问​​此属性吗?

最佳答案

在我看来你应该写:

#{item.value}

而不是#{item.Value},因为标准 JavaBeans 约定是为 xyz 属性提供 getXyz() getter。

此外,为什么不向 UI 组件提供一个 valueChangeListener 来进行区域设置选择,然后在其中填充该区域设置的选择项标签。这样您就可以使用标准 f:selectItems 标记。

关于java - 在不使用 selectOneMenu 的情况下从 XHTML 访问 JSF SelectItem.Label 和 Value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1278019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com