使用JSTL读取cookie

时间:2014-02-21 16:13:36

标签: jsp cookies jstl

我正在研究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 ... 谢谢!

2 个答案:

答案 0 :(得分:3)

您可以通过cookeName

访问名为${cookie.cookieName.value}的Cookie值

答案 1 :(得分:2)

requestScope.cookies将搜索名为cookies的请求属性。如果您想访问请求的cookies属性,则需要pageContext.request.cookies

也就是说,访问cookie是你应该用Java代码,在控制器(servlet)中,而不是在视图(JSP)中,这应该只处理HTML生成。