从后端数据库取出书本集合,然后循环输出到前端表格:

                <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();
    }

 

posted on 2017-08-02 16:05  f91og  阅读(533)  评论(0编辑  收藏  举报