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

时间:2017-10-02 15:06:26

标签: java jsp scope requestscope

我想在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>

如果尝试不同的范围(会话,应用程序等)也一样。我不明白。这种方法遍布互联网,为什么它不起作用?我第一次使用它。

1 个答案:

答案 0 :(得分:0)

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