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

0 jsf richfaces selectonemenu valuechangelistener ajax4jsf

我为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>
Run Code Online (Sandbox Code Playgroud)

我不明白为什么这个valueChangeListener不会被执行的原因,如果在xhtml页面中选择了另一个值.

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

Bal*_*usC 5

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

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

<h:commandButton value="Submit" />
Run Code Online (Sandbox Code Playgroud)

或者投入一些ajax魔法来自动提交表格.正如你在RichFaces 3.x上看到的那样,使用<a4j:support>:

<h:selectOneMenu ...>
    <a4j:support event="onchange" />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)

也可以看看: