我正在研究cookie并且能够使用基于scriptlet的JSP创建和阅读它们,但是当我尝试使用JSTL执行相同操作时,它不会显示我的所有cookie,只显示“JSESSIONID ...”和我的其他项目它显示我创建的cookie。我的问题是为什么,它似乎适合我,但不适合我的浏览器.. 这是我正在尝试使用JSTL做的事情:
<%@ 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>
我的其他项目正在运作:
<% 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>
<%}%>
我的项目库文件夹中有JSTL .jars ... 谢谢!
答案 0 :(得分:3)
您可以通过cookeName
${cookie.cookieName.value}
的Cookie值
答案 1 :(得分:2)
requestScope.cookies
将搜索名为cookies
的请求属性。如果您想访问请求的cookies属性,则需要pageContext.request.cookies
。
也就是说,访问cookie是你应该用Java代码,在控制器(servlet)中,而不是在视图(JSP)中,这应该只处理HTML生成。