为什么我的selectOneMenu的JSF valueChangeListener没有执行?

时间:2014-01-28 06:06:43

标签: jsf richfaces ajax4jsf selectonemenu valuechangelistener

我在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。

我的代码中有错误吗?豆以正确的方式宣布

1 个答案:

答案 0 :(得分:5)

仅在表单提交时执行,而不是在您更改值时执行:

因此,要么添加提交按钮并按下它(如果需要,您还可以使用<a4j:commandXxx>个):

<h:commandButton value="Submit" />

或者投入一些ajax魔法来自动提交表格。由于您显然使用的是RichFaces 3.x,请使用<a4j:support>

<h:selectOneMenu ...>
    <a4j:support event="onchange" />
</h:selectOneMenu>

另见: