如果数据表中的h:inputHidden,则不会触发Primefaces ActionListener

时间:2015-02-20 14:48:15

标签: primefaces actionlistener jsf-2.2

我正在使用Primefaces 5.1并且有这种奇怪的行为。

如果在我的dataTable中我有h:inputHidden,那么mymethod()就不会被触发。 如果我将其删除,则会触发该方法。

<p:dataTable id="tablerisorse" value="#{myBean.resources}" var="resource"  
        rowStyleClass="#{(rowIndex mod 2) eq 0 ? 'oddRow' : 'evenRow'}" 
        rowIndexVar="rowIndex"
        emptyMessage="Empty" headerClass="header">

        <p:column>
            <h:inputHidden id="id_user" value="#{resource.user}"/>
            <f:facet name="header">
            <h:outputText  value="Surname"/> 
            </f:facet> 
            <h:outputText value="#{resource.surname}" /> 
        </p:column>     
        <p:column> 
            <p:commandLink id="linkdet"  actionListener="#{myBean.mymethod}" ajax="false"onstart="progressbar()" oncomplete="hideprogressbar()">
                 <p:graphicImage value="images/res.png" style="{border: 0}"></p:graphicImage>   
            </p:commandLink>
        </p:column>                                 
</p:dataTable>

方法是:

public void impegnirisorsa(ActionEvent ae) {
        // TODO Auto-generated method stub
        HtmlInputHidden uicid_user = (HtmlInputHidden) ae.getComponent().findComponent("id_user");
        String id_user = ""+uicid_user .getValue();
        System.out.println("id_user"+id_user);
    }

我想知道问题是什么以及我可以使用哪些变通方法。

0 个答案:

没有答案