我是jsf和jpa的新手,但是我想在数据库中的一个表中显示我的所有记录。
可以从我的导航中访问用于显示所有记录的数据页。
<h:body>
<h:form>
<p:menu styleClass="left-navigation">
<p:submenu label="Versand" >
<p:menuitem value="Bargeld-Versand" action="createNewAblieferung"/>
<p:menuitem value="Bargeld-Bestellung"/>
<p:menuitem value="Wertpost-Versand"/>
</p:submenu>
<p:submenu label="Administration">
<p:menuitem value="Bestellungen"/>
<p:menuitem value="Ablieferungen" action="allAblieferungen"/>
<p:menuitem value="User"/>
</p:submenu>
</p:menu>
</h:form>
</h:body>
这是数据页“allAblieferungen.xhtml”的代码,它应该显示primefaces数据表中的所有记录。
<h:body>
<ui:composition template="WEB-INF/template/master.xhtml">
<ui:define name="content">
<h:form>
<p:dataTable var="abl" value="#{ablieferungPM.getAllAblieferungen()}">
<p:column headerText="ID">
<h:outputText value="#{abl.id}"
</p:column>
<p:column headerText="AblieferndeGS">
<h:outputText value="#{abl.ablieferdeGS}"
</p:column>
<p:column headerText="EmpfängerGS">
<h:outputText value="#{abl.empfaengerGS}"
</p:column>
<p:column headerText="Bemerkung">
<h:outputText value="#{abl.bemerkung}"
</p:column>
<p:column headerText="Summe">
<h:outputText value="#{abl.summe}"
</p:column>
</p:dataTable>
</h:form>
</ui:define>
</ui:composition>
</h:body>
我的托管bean(ablieferungPM.java)提供了ui的所有方法,包括用于显示表的所有记录的“getAllAblieferungen()”方法。
@EJB
private AblieferungService service;
public List<Ablieferung> getAllAblieferungen() {
return service.getAllAblieferungen();
}
该方法从无状态bean(AblieferungService.java)调用服务。该服务包括业务逻辑的所有方法,并使用jpa进行数据库访问。 “getAllAblieferungen()”从我的数据库中收集对象
@PersistenceContext
private EntityManager em;
public List<Ablieferung> getAllAblieferungen() {
return em.createNamedQuery(Ablieferung.FIND_ALL, Ablieferung.class).getResultList();
}
获取表格的所有对象,我使用下面的实体类查询
@NamedQueries({
@NamedQuery(name = Ablieferung.FIND_ALL, query = "SELECT a FROM Ablieferung a"),})
所以,问题是,点击链接“Ablieferung”,什么都没有,真的没什么。玻璃鱼的控制台也不例外...... 可以使用导航第一个链接上的表单将新对象插入数据库。这很好用,所以与数据库的连接应该没问题!
答案 0 :(得分:0)
尝试url
中的menuitem
属性,在这种情况下,action
会发出POST请求。
<p:menuitem value="Ablieferungen" url="myPage?faces-redirect=true"/>
请检查此&gt; PrimeFaces navigation using MenuItem