2

我想在其中放置一个变量,requestScope以便可以在其他页面中使用它。不幸的是,requestScope在这个其他页面中完全是空的。事实上,当我#{requestScope}在两页中打印时,它们的内存地址并不相同!

主页面.jsp

<c:set var="foo" value="${myForm.myJavaObject}" scope="request" />

<c:forEach var="scope" items="${requestScope}">
    ${scope.key} // PRINTS EVERY VARIABLE IN THE REQUEST SCOPE, INCLUDING foo
</c:forEach>

<jsp:include page="./includedPage.jsp"/>

包含页面.jsp

<c:forEach var="scope" items="${requestScope}">
    ${scope.key} // PRINTS NOTHING
</c:forEach>

如果尝试不同的范围(会话、应用程序等),同样的事情。我不明白。这个方法网上到处都是,为什么不行呢?我第一次使用它。

4

1 回答 1

0

如果我包含<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>. 我不明白为什么,因为它已经包含在mainPage.jsp并且因为<jsp:include>是动态的。

于 2017-10-02T15:40:52.483 回答