我想从Java Servlet设置会话范围的值,并使用JSTL将其打印到JSP页面。
这是我尝试过的:
在pom.xml中添加了依赖项:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>8.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
从Servlet设置属性:
if (error) {
HttpSession session = request.getSession(true);
session.setAttribute("failureReason", "test error");
response.sendRedirect("/com/test.jsp");
}
现在,从test.jsp页面开始,如果我这样写:
<c:out value="HERE"/>
我在页面上看到输出,如何获取我的failureReason属性?这是我已经尝试过的所有方式:
<c:if test="${not empty failureReason}">
<c:out value="HERE"/>
</c:if>
<c:if test="${not empty sessionScope.failureReason}">
<c:out value="HERE"/>
</c:if>
<c:if test="${sessionScope.failureReason != null}">
<c:out value="HERE"/>
</c:if>
<c:if test="${failureReason != null}">
<c:out value="HERE"/>
</c:if>
<c:if test="${!empty sessionScope.failureReason}">
<c:out value="HERE"/>
</c:if>
<c:if test="${!empty failureReason}">
<c:out value="HERE"/>
</c:if>
似乎没有任何作用。
答案 0 :(得分:0)
已解决。我已经按如下方式编辑了web.xml:
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">