2013-08-07 39 views
0

我只是不明白它...Primefaces p:commandLink不工作在p:datattable

爲什麼p:commandLink不工作?該頁面正在刷新,但表格中的數據量相同。我假設那個控制器沒問題。看看\

景觀:

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:p="http://primefaces.org/ui"> 

    <body> 
     <ui:composition template="./Template.xhtml"> 
      <ui:define name="content" > 
       <f:view> 
        <h:form style="padding: 5px"> 
         <p:dataTable id="dataTable2" var="item" value="#{warningsController.warns}"> 
          <p:column rendered="#{loginController.admin}"> 
           <f:facet name="header"> 
            <h:outputText value="Administracja" /> 
           </f:facet> 
           <h:form> 
            <p:commandLink id="Remove" value="Remove" action="#{warningsController.remove(item.id)}" ajax="false" /> 
           </h:form> 
          </p:column> 
         </p:dataTable> 
        </h:form> 
       </f:view> 
      </ui:define> 
     </ui:composition> 

    </body> 
</html> 

和控制器:

public String remove(long a){ 
    //System.out.println(a); 
    pf.remove(pf.find(a)); 
    return "Listsev.xhtml"; 
} 

回答

0

您有多個h:form小號級聯/嵌套,這是invalid html。未知/想要的副作用可能/可能會發生,也許就像您現在正在經歷的那樣。如果那個內部h:form得到正確,然後再試一次。

在您的remove方法中,pf是您通過致電#{warningsController.warns}返回的列表?

+0

謝謝,它已經工作,但我已經嘗試沒有嵌套的h:形式。直到primefaces的更新幫助。 – Matt

+0

但是你應該刪除嵌套的'h:form's,因爲這是無效的html。將來使用多種表單時,您會遇到很多麻煩。 – Manuel

相關問題