监听器未被调用

时间:2012-04-18 23:02:55

标签: ajax jsf-2 selectonemenu

我在下面的selectOneMenu

中没有调用侦听器时遇到问题
<h:selectOneMenu id="Country" value="#{bean.country}">
   <f:ajax render="inputId" listener="#{backingBean.clearMethod}" />
     <f:selectItem itemLabel="-Select One-" itemValue="_" noSelectionOption="true"/>
     <f:selectItems value="#{optionValues['countryList']}" />
</h:selectOneMenu>
<h:inputText id="inputId" value="#{bean.city}"/>

optionValues解析程序用于解析xml文件中的国家/地区列表选项。 它有美国,加拿大和墨西哥。我的问题是当我将选项从USA更改为Canada或Select One更改为USA时,会调用clearMethod。但是当我将选项从USA更改为Select One时,不会调用clearMethod

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

我认为问题是itemValue中的noSelectionOption属性。它可能会导致验证错误,因此不会调用监听器。

尝试删除itemValue属性。

(顺便说一句:在你的代码中,value的{​​{1}}属性没有绑定到支持bean字段。或者它是一个错字?)