我正在使用JBoss 5.01和richfaces:3.3。当第一个 h:selectOneMenu id =“codOrgao”更改时,我需要获取第二个 h的年份值:selectOneMenu id =“ano”然后加载< strong>第三个h:selectOneMenu id =“codMembro”。这是我写的代码,我不知道原因,但 不起作用。
a4j supporte不起作用(在valueChangeListener =“#{populaMembros.pegaListaMembros}类中我编写了一个简单的System.out.println(”监听器调用“)”以查看该方法是否被调用但不是。在此先感谢您的帮助!!!
<h:form styleClass="labelPorCima">
<h:panelGrid id="mpanel">
<div class="content field">
<label for="codOrgao">Selecione um orgão</label>
<h:selectOneMenu id="codOrgao" styleClass="textoLongo" valueChangeListener="#{populaMembros.pegaListaMembros}">
<f:selectItems value="#{populaOrgaosBean.listaItensOrgaos}" />
<a4j:support event="onchange" reRender="codMembro"/>
</h:selectOneMenu>
</div>
<h:selectOneMenu id="ano" styleClass="inputNome">
<f:selectItem itemLabel="2012"/>
<f:selectItem itemLabel="2011"/>
<f:selectItem itemLabel="2010"/>
<f:selectItem itemLabel="2009"/>
<f:selectItem itemLabel="2008"/>
</h:selectOneMenu>
<div class="content field ">
<label for="membro" class="membro">Nome do Membro</label>
<h:selectOneMenu id="codMembro" styleClass="inputNome" disabled="true">
<f:selectItem itemLabel="Selecione um membro" />
</h:selectOneMenu>
</div>
</h:panelGrid>
</h:form>
答案 0 :(得分:0)
codOrgao
不会触发它的值更改侦听器,因为它没有value
属性。组件需要具有value
属性,绑定到支持bean变量
您应该将actionListener
从<h:selectOneMenu/>
移至<a4j:support/>
。
总而言之,您的代码应如下所示:
<h:selectOneMenu id="codOrgao" value="#{bean.theValue}" styleClass="textoLongo">
<f:selectItems value="#{populaOrgaosBean.listaItensOrgaos}" />
<a4j:support event="onchange" reRender="codMembro" actionListener="#{populaMembros.pegaListaMembros}"/>
</h:selectOneMenu>