gpt4 book ai didi

java - JSF valueChangeListener 仅在第二次尝试时使用react?

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

我的 JSF 页面有两个下拉列表,我想根据第一个下拉列表中选择的值加载第二个列表。但是,仅在我第二次更改选择时才检测到“onchange”事件!

网页代码片段:

<h:form id="selectRegion">
<h:selectOneMenu id="governorate"
value="#{SearchView.governorate}"
styleClass="mediumInput" immediate="true"
valueChangeListener="#{SearchView.goverValueChanged}"
onchange="submit();">
<f:selectItems value="#{SearchView.goverItemsList}" id="govItems" />
</h:selectOneMenu>

<h:selectOneMenu id="district"
value="#{SearchView.district}"
styleClass="mediumInput">
<f:selectItems value="#{SearchView.districtItemsList}" id="distItems" />
</h:selectOneMenu>
</h:form>

<h:form id="SearchFor">
<hx:commandExButton
id="button1" styleClass="btn" type="submit"
value="Search" action="#{SearchView.searchAction}"
onclick="document.getElementById('selectRegion').submit();">
</hx:commandExButton>
</h:form>

问题是,只有当我第二次修改省份的值时才会调用goverValueChanged(ValueChangeEvent event),而不是第一次(我将系统放在goverValueChanged(ValueChangeEvent event)中以了解这一点)。

有人知道可能出了什么问题吗?提前致谢!我正在使用 JSF 1.1 并在 IBM WAS 上运行

最佳答案

上次与IBM和JSF 1.1战斗已经是很久以前的事了,但我依稀记得一些古老的JSF 1.1 bug导致当初始值为null<时valueChangeListener不会被触发。我建议将初始值(value="#{SearchView.governorate}" 后面的属性)设置为空字符串或其他值。

您当然也可以将 JSF 1.1 升级到最新版本的 JSF 1.1_02。它有相当多的功能错误修复,也许它也能解决这个(和其他)问题。 IBM WAS 5.x 附带了 JSF 1.1 的早期版本,其中充斥着一些类似的奇怪错误。或者,也许您正在使用 IBM WAS 6.x,那么您也可以完全放弃 JSF 1.1,转而使用经过大幅改进的 JSF 1.2。您可以从文件 right here 下载 JSF 库.

关于java - JSF valueChangeListener 仅在第二次尝试时使用react?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3725631/

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