我正在使用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);
}
我想知道问题是什么以及我可以使用哪些变通方法。