从后端数据库取出书本集合,然后循环输出到前端表格:
<c:forEach items="${bookManagedBean.bookList}" var="book"> <tr> <td>${book.title}</td> <td><h:graphicImage value="${book.thumbnail}"/></td> <td>${book.authors}</td> <td>${book.callName}</td> </tr> </c:forEach>
但是出现了NumberFormatException异常,试了各种办法,问题仍然存在,最后在这里找到了答案:http://bbs.csdn.net/topics/390309380?page=1
这是我原来写的查询语句:
@Override public List<Book> getBookInfo() { Query query=entityManager.createNativeQuery("SELECT * FROM Book"); return query.getResultList(); }
问题在于这里并未指定返回对象的类型是Book,结果返回给前端的书本集合全变成了Object类型,这样当然取不到Book里的title等字段了。改成如下查询语句后问题解决:
@Override public List<Book> getBookInfo() { TypedQuery<Book> query=entityManager.createQuery("SELECT b FROM Book b",Book.class); return query.getResultList(); }