我无法从查询中提取信息并将其放入数据表中。
我需要提取大于输入价格的图书条目。
我认为这部分可以正常工作,但我需要将其分类到数据表中以便可以读取。 (让它看起来漂亮)
我不明白我在哪里缺少代码?在查询中将其排序更多?或者我可以访问信息并将其放入数据表中吗?
这是我的 BookQueries.xhtml 页面的样子,但它不起作用! :(
<h:dataTable id="table1" value="#{bookController.findBookGreater()}" var="item"
border="1">
<f:facet name="header">
<h:outputText value="Book Query Results" />
</f:facet>
<h:column>
<f:facet name="header">
<h:outputText value="Books" />
</f:facet>
<h:outputText value="#{book.title}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Price" />
</f:facet>
<h:outputText value="#{book.price}" />
</h:column>
</h:dataTable>
在 BookController.java 类中,我有:
public List<Book> findBookGreater() {
return ejbFacade.findBookByPrice(bookPrice);
}
在 BookFacade.java 中我有:
public List<Book> findBookByPrice(Integer bprice) {
EntityManager em = getEntityManager();
Query query = em.createNamedQuery("findBooksGreater");
query.setParameter("bookprice", bprice);
List resultList = query.getResultList();
return resultList;
}
感谢您提供的任何帮助!!
最佳答案
您定义var="item"
<h:dataTable id="table1" value="#{bookController.findBookGreater()}" var="item"
border="1">
因此列表中的每个元素都将被引用为 item
,但您尝试引用 book
<h:outputText value="#{book.title}" />
使用代替
<h:outputText value="#{item.title}" />
关于java - 将查询结果拉入数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13636572/