You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JSP中通过requestScope获取嵌套对象的值并展示

实现JSP通过requestScope访问BookUser子对象属性的正确方式

首先看你的代码结构是没问题的,只要确保几个关键点到位,就能顺利打印子对象的属性,具体步骤如下:

1. 后端确保数据正确存入Request域

首先要保证后端业务逻辑中,已经把包含BookUser对象的集合正确放入request范围,而且属性名称必须和JSP中使用的LISTALLBOOKORIGINAL完全一致(大小写敏感),比如后端代码示例:

// 假设你已经组装好BookUser列表
List<BookUser> bookUserList = ...;
// 将列表存入request域,属性名要和JSP里的完全匹配
request.setAttribute("LISTALLBOOKORIGINAL", bookUserList);

2. JSP页面的正确取值方式

你当前的JSP代码写法是正确的,EL表达式会自动调用对象的getter方法来获取子对象属性:

  • ${dtoX.book.id} 等价于调用 dtoX.getBook().getId()
  • 只要你的Books类中存在对应的getter方法(getId()、getBookTitle()、getPrice()等),就能正常取值

整理后的JSP代码(补充注释说明):

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- 从requestScope中获取BookUser列表 -->
<c:set var="listBookNew" value="${requestScope.LISTALLBOOKORIGINAL}"/>
<c:if test="${not empty listBookNew}">
    <table border="1">
        <thead>
            <tr>
                <th>Id</th>
                <th>Title</th>
                <th>Price</th>
                <th>Quantity</th>
                <th>Date</th>
            </tr>
        </thead>
        <tbody>
            <!-- 遍历BookUser列表 -->
            <c:forEach var="dtoX" items="${listBookNew}">
                <tr>
                    <!-- 通过EL表达式访问子对象Books的属性 -->
                    <td>${dtoX.book.id}</td>
                    <td>${dtoX.book.bookTitle}</td>
                    <td>${dtoX.book.price}</td>
                    <td>${dtoX.book.quantity}</td>
                    <td>${dtoX.book.bookDate}</td>
                </tr>
            </c:forEach>
        </tbody>
    </table>
</c:if>

3. 关键注意点

  • 属性名称大小写敏感:你之前提到拼写错误requestScope的属性名称,这是常见坑,一定要保证后端setAttribute的名称和JSP中requestScope.XXX的名称完全一致
  • 子对象必须存在getter方法:你的BookUser类已经正确实现了getBook()和getUser(),同时要确保Books类中对应属性的getter方法都存在,否则EL表达式无法取值
  • 避免空指针问题:如果BookUser中的book属性可能为null,建议在JSP中增加非空判断,比如:${not empty dtoX.book ? dtoX.book.id : 'N/A'}

你的BookUser类代码结构是正确的,只要满足上述条件,就能正常在JSP页面打印出子对象的属性啦!

内容的提问来源于stack exchange,提问作者user11131551

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:09:07