当有记录时,PrimeFaces DataTable“找不到记录”

时间:2014-08-15 15:09:02

标签: jsf-2 primefaces datatable

我正在关注Java EE应用程序中PrimeFaces开发入门的视频教程。

https://netbeans.org/kb/docs/javaee/javaee-gettingstarted-pf-screencast.html

当我在客户表中有记录时,在本教程末尾的数据表中找到“未找到记录”时,一切都进展顺利。

我的index.xhtml代码列在下面。

<?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:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        Hello from Facelets
        <br />
        <h:link outcome="welcomePrimefaces" value="Primefaces welcome page" />
        <br />
        <f:view>


            <h:form>
                <h1><h:outputText value="List"/></h1>
                <p:dataTable value="#{customerFacade.customers}" var="item" >
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="CustomerId"/>
                        </f:facet>
                        <h:outputText value="#{item.customerId}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Name"/>
                        </f:facet>
                        <h:outputText value="#{item.name}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Addressline1"/>
                        </f:facet>
                        <h:outputText value="#{item.addressline1}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Addressline2"/>
                        </f:facet>
                        <h:outputText value="#{item.addressline2}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="City"/>
                        </f:facet>
                        <h:outputText value="#{item.city}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="State"/>
                        </f:facet>
                        <h:outputText value="#{item.state}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Phone"/>
                        </f:facet>
                        <h:outputText value="#{item.phone}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Fax"/>
                        </f:facet>
                        <h:outputText value="#{item.fax}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Email"/>
                        </f:facet>
                        <h:outputText value="#{item.email}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="CreditLimit"/>
                        </f:facet>
                        <h:outputText value="#{item.creditLimit}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="DiscountCode"/>
                        </f:facet>
                        <h:outputText value="#{item.discountCode}"/>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Zip"/>
                        </f:facet>
                        <h:outputText value="#{item.zip}"/>
                    </p:column>
                </p:dataTable>
            </h:form>
        </f:view>

    </h:body>
</html>

任何想法可能是什么问题? 我找到了有同样问题的人并尝试了他的解决方案。但是,它没有用。

PrimeFaces DataTable "No records found" when there are records

有关如何解决此问题的任何建议?

编辑:

我在CustomerFacade.java文件中有这个

   public List<Customer> getCustomers()
    {
        return em.createNamedQuery("Customer.findAll").getResultList();
    }

1 个答案:

答案 0 :(得分:0)

请确保您的支持bean方法getCustomers()在envoked时返回客户列表。