JSP - jsp:include 页面内的所有范围都是空的

JSP - All scopes are empty inside the jsp:include page

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

mainPage.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"/>

includedPage.jsp

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

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

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