0

尝试做一些简单的 primefaces 数据表 ajax 工作并得到以下异常:

javax.servlet.ServletException:/default.xhtml @17,76 父级不是 ClientBehaviorHolder 的实例:org.primefaces.component.datatable.DataTable@5fdb7adc

我正在使用 primefaces 3.3.1。我的 .xhtml 代码在这里(我从 primefaces 网站复制了一些代码,看看我能不能让它工作),有人有什么想法吗?

 <html xmlns="http://www.w3c.org/1999/xhtml"
 xmlns:f="http://java.sun.com/jsf/core"
 xmlns:h="http://java.sun.com/jsf/html"
 xmlns:p="http://primefaces.org/ui" >    

 <h:head>

 </h:head>
 <h:body>
 <center>
 <h:form id="form">

 <p:dataTable id="personTable" var="client" value="#{tableBean.persons}" 
             selection="#{tableBean.person}" selectionMode="single">

            <p:ajax event="rowSelect" listener="#{tableBean.onUserSelect}"   
                update=":form:displayf" oncomplete="carDialog.show()" />  

            <p:ajax event="rowUnselect" 
                listener="#{tableBean.onUserUnselect}" 
                update=":form:displayf" />

    <f:facet name="header">
        Click "View" button after selecting a row to see details
    </f:facet>

    <p:column headerText="Name">
        #{client.name}
    </p:column>

    <p:column headerText="Address">
        #{client.address}
    </p:column>

    <p:column headerText="Phone" >
        #{client.phone}
    </p:column>
</p:dataTable>

<p:dialog id="dialog" header="Car Detail" widgetVar="carDialog" resizable="false"  
            showEffect="explode" hideEffect="explode">  

<h:panelGrid id="displayf" columns="2" cellpadding="4">


        <h:outputText value="Name:" />
        <h:outputText value="#{tableBean.person.name}" />

        <h:outputText value="Address:" />
        <h:outputText value="#{tableBean.person.address}" />

        <h:outputText value="Phone:" />
        <h:outputText value="#{tableBean.person.phone}" />

</h:panelGrid>
</p:dialog>

</h:form>

</center>
</h:body>
</html>
4

0 回答 0