Jsp 使用JSTL读取cookie
我在研究cookie,并且能够使用基于scriptlet的JSP创建和读取它们,但是当我尝试使用JSTL执行相同操作时,它并没有显示我所有的cookie,只有“JSSessionID…”,而在我的另一个项目中,它显示了我创建的cookie。我的问题是为什么,它似乎适合我,但不适合我的浏览器。。 下面是我尝试使用JSTL所做的:Jsp 使用JSTL读取cookie,jsp,cookies,jstl,Jsp,Cookies,Jstl,我在研究cookie,并且能够使用基于scriptlet的JSP创建和读取它们,但是当我尝试使用JSTL执行相同操作时,它并没有显示我所有的cookie,只有“JSSessionID…”,而在我的另一个项目中,它显示了我创建的cookie。我的问题是为什么,它似乎适合我,但不适合我的浏览器。。 下面是我尝试使用JSTL所做的: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:forEach
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:forEach var="cookieVal" items="${requestScope.cookies}" >
<tr>
<td align="right">${cookieVal.name}</td>
<td>${cookieVal.value}</td>
</tr>
</c:forEach>
${cookieVal.name}
${cookieVal.value}
我的另一个项目是:
<% Cookie[] cookies = request.getCookies();
for (int i = 0; i < cookies.length; i++) {
Cookie cookie = cookies[i];%>
<tr>
<td><%=cookie.getName()%></td>
<td><%=cookie.getValue()%></td>
</tr>
<%}%>
我的项目库文件夹中有m JSTL.jars。。。
谢谢大家!
requestScope.cookies
将搜索名为cookies
的请求属性。如果要访问请求的cookies属性,需要pageContext.request.cookies
也就是说,访问cookie应该在控制器(servlet)中使用Java代码,而不是在视图(JSP)中,后者只处理HTML生成。您可以通过
${cookie.cookieName.value}
访问名为cookeName
的cookie值。我忘了告诉您,实际上我有这个属性(Cookie[]cookies=request.getCookies();
)并发现了我的问题(顺便说一句,这太愚蠢了…)我实际上是在将我的新Cookie添加到我的响应
属性中,而不是我的请求
…这太愚蠢了,哈哈,谢谢!