我在JSF中为selectOneMenu创建了这个valueChangeListener:
<a4j:region>
<a4j:repeat>
<label class="select">
<h:selectOneMenu id="onlyThis" value="#{bean.prio}"
valueChangeListener="#{bean.prioChangeListener}" >
<f:selectItems value="#{bean.prioSelectItems}" />
</h:selectOneMenu>
</label>
</a4j:repeat>
</a4j:region>
我不明白原因,如果在xhtml页面中选择了另一个值,为什么不会执行valueChangeListener。
我的代码中有错误吗?豆以正确的方式宣布
答案 0 :(得分:5)
仅在表单提交时执行,而不是在您更改值时执行:
因此,要么添加提交按钮并按下它(如果需要,您还可以使用<a4j:commandXxx>
个):
<h:commandButton value="Submit" />
或者投入一些ajax魔法来自动提交表格。由于您显然使用的是RichFaces 3.x,请使用<a4j:support>
:
<h:selectOneMenu ...>
<a4j:support event="onchange" />
</h:selectOneMenu>