为什么我无法通过jsp中的$ {book.type.sortName}获取关联数据的值?

时间:2016-12-08 16:31:19

标签: java jsp spring-mvc web mybatis

我是Java web的初学者。我使用spring4 mvc和mybatis作为图书管理系统。

mysql中的数据库bms中有两个表 t_book t_type

这是图书实体:

public class Book {

    private Long bookNum;

    private String bookName;

    private String writer;

    private String callNumber;

    private BigDecimal price;

    private String pubCompany;

    private Date pubDate;

    private Long totalNum;

    private Long currentNum;

    private String brief;

    private Type type; // the associated class

    // getter and setter

}

这是类型实体:

public class Type {

    private Long sortId;

    private String sortName;

    // getter and setter
}

但是在bookDetail.jsp中,页面可以显示$ {book.bookName},$ {book.writer},$ {book.pubDate}等的值,但是< strong>无法显示 $ {book.type.sortName} 的值。

这是bookDetail.jsp的一部分:

<table class="table table-bordered table-striped">
                    <tr>
                        <th>Book ID</th>
                        <td>${book.bookNum}</td>
                    </tr>
                    <tr>
                        <th>Book name</th>
                        <td>${book.bookName}</td>
                    </tr>
                    <tr>
                        <th>Book writer</th>
                        <td>${book.writer}</td>
                    </tr>
                    <tr>
                        <th>callNumber</th>
                        <td>${book.callNumber}</td>
                    </tr>
                    <tr>
                        <th>sort</th>
                        <td>${book.type.sortName}</td>
                    </tr>
                    <tr>
                        <th>publish Date</th>
                        <td><fmt:formatDate value="${book.pubDate}" pattern="yyyy-MM-dd"/></td>
                    </tr>
                </table>

为什么我无法通过.jsp中的$ {book.type.sortName}获取关联数据的值?我怎么能得到它?

请帮忙! 提前谢谢!

2 个答案:

答案 0 :(得分:0)

您可能正在将模型检索为Lazy,因此您只有第一部分没有关联值而只是参考,您可以检查是否只放了$ {book.type}为您提供仅限类型的参考。

答案 1 :(得分:0)

在sql mapping xml中,将属性lazyLoadingEnabled更改为:

lazyLoadingEnabled="false"