【发布时间】:2014-08-15 15:09:01
【问题描述】:
我正在关注 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();
}
【问题讨论】:
-
顺便说一句..Thou shalt not do business logic in getter methods。我还没有查看 Netbeans 视频教程,但如果它真的要你这样做,我会将该视频放入垃圾箱,然后开始阅读我们的 JSF wiki 页面stackoverflow.com/tags/jsf/info中列出的资源和教程>
标签: jsf-2 primefaces datatable