Jsf 在p:dataTable上显示JPA结果
我有一个从DB获取图书列表的实体。所以我创建了一个类型为MyEntity的列表Jsf 在p:dataTable上显示JPA结果,jsf,jpa,primefaces,datatable,Jsf,Jpa,Primefaces,Datatable,我有一个从DB获取图书列表的实体。所以我创建了一个类型为MyEntity的列表 < p:commandButton value="Tüm Kitaplar" actionListener="#{oduncKitapVerBean.tumListeyiDoldur}"/> < p:dataTable id="kitapliste" var="kl" rowKey="#{kl.kitapID}" value="#{
< p:commandButton value="Tüm Kitaplar" actionListener="#{oduncKitapVerBean.tumListeyiDoldur}"/>
< p:dataTable id="kitapliste" var="kl" rowKey="#{kl.kitapID}"
value="#{oduncKitapVerBean.entityList}"
paginator="true" rowsPerPageTemplate="5,10,15"
paginatorPosition="bottom"
selection="#{oduncKitapVerBean.selectedEntity}"
selectionMode="single">
<f:facet name="header">
<h:outputText value="Kitap Listesi"/>
</f:facet>
<p:column headerText="Kitap Adı" filterBy="#{kl.kitapad}" sortBy="#{kl.kitapad}" filterMatchMode="contains">
<h:outputText value="#{kl.kitapad}"/>
</p:column>
</p:dataTable>
我已经控制了调试模式。entityList正在从查询中填充。但为什么dataTable未满?
entityList
使用getter?也许您应该在cammand按钮中添加update=“kitapliste”。你的bean范围是什么?您是在尝试使用Ajax还是在按下按钮后再次渲染页面?这是viwscope,我没有尝试使用ajaxyes。我将entityList与getter一起使用。谢谢@BlueOcean。它工作得很好。
public void tumListeyiDoldur() {
EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory("KutuphaneOtomasyonuPU");
EntityManager em = emf.createEntityManager();
try {
entityList = em.createNamedQuery("tumkitaplarigetir").getResultList();
} catch (Exception e) {
e.printStackTrace();
}
}