JSP - все области внутри страницы jsp:include пусты
Я хочу поместить переменную в 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 ответ
Решение
Это работает, если я включу <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
, Я не понимаю, почему, так как он уже включен в mainPage.jsp
и потому что <jsp:include>
динамично