我在这里迷失了方向。我正在修改一个JSP,其中包括一个运行代码的JSPF,其中包括对pageContext的以下分配:
pageContext.setAttribute("basicUser", basicUser);
basicUser的类型为布尔值。当我进入JSP的正文时,我尝试像这样访问pageContext属性:
<c:set var="basicUser" value="${pageContext.getAttribute('basicUser')}"/>
<c:choose>
<c:when test="${basicUser}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
我什至尝试<c:set var="basicUser" value="true"/>
只是尝试硬编码其中的值,直接设置test="${pageContext.getAttribute('basicUser')}"
并在请求范围而不是页面范围上设置basicUser
属性,但是每次都得到相同的结果-两者c:when
和c:otherwise
被渲染,我完全无法使用pageContext.getAttribute('basicUser')
打印basicUser
或c:out
的值。
我想念的是什么?有没有使用JSTL来访问我未尝试的pageContext属性的方法?预先感谢!
我认为JSP页面和片段之间不共享页面范围。尝试使用请求范围:
request.setAttribute("basicUser", basicUser);
<c:when test="${requestScope.basicUser}">