Primefaces p:commandLink无法在p:datatable中工作

时间:2013-08-07 16:20:29

标签: primefaces datatable commandlink

我只是不明白......

为什么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";
}

1 个答案:

答案 0 :(得分:0)

您有多个h:form级联/嵌套,即invalid html。可能/可能发生未知/想要的副作用,可能就像您现在正在经历的那样。如果内部h:form正确,请再试一次。

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