【问题标题】:JSP - All scopes are empty inside the jsp:include pageJSP - jsp:include 页面内的所有范围都是空的
【发布时间】:2025-12-03 03:05:02
【问题描述】:

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

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

【问题讨论】:

    标签: java jsp scope requestscope


    【解决方案1】:

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

    【讨论】:

      最近更新 更多