【问题标题】:A4J richfaces 3 doesn't workA4J Richfaces 3 不工作
【发布时间】:2013-08-16 12:03:51
【问题描述】:

我正在使用 JBoss 5.01 和 Richfaces:3.3。当第一个 h:selectOneMenu id="codOrgao" 发生变化时,我需要获取第二个 h:selectOneMenu id="ano" 的年份值,然后加载 第三个 h:selectOneMenu id="codMembro"。那是我写的代码,我不知道原因,但是 不起作用。

a4j 支持不起作用(在 valueChangeListener="#{populaMembros.pegaListaMembros} 类中,我编写了一个简单的 System.out.println("listener called")" 以查看是否调用了该方法,但不是) .在此先感谢您的帮助!!!

<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>

【问题讨论】:

  • 你试过onclick而不是onchange吗?当菜单失去焦点时触发 Onchange。

标签: jsf richfaces jboss5.x jsf-1.2 ajax4jsf


【解决方案1】:
  1. codOrgao 不会触发它的值更改侦听器,因为它没有 value 属性。组件需要有一个 value 属性,绑定到一个支持 bean 变量

  2. 您应该将actionListener&lt;h:selectOneMenu/&gt; 移动到&lt;a4j:support/&gt;

所以总的来说,你的代码应该是这样的:

 <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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 2012-08-15
    相关资源
    最近更新 更多