在JSTL标记中检索cookie和数组值

时间:2012-06-04 14:44:57

标签: java jsp jstl

在检索我需要使用的cookie时:

<c:forEach items="${cookie}" var="currentCookie">  
    ${currentCookie.value.name} </br>
</c:forEach>

但是,在使用自定义数组时,为什么我们需要跳过.value函数?

<c:forEach items="${myList}" var="myList">  
    ${myList.name} </br>
</c:forEach>

Cookie包含.getValue函数(),它以字符串格式返回cookie的内容,那么使用currentCookie.value.name如何工作?

1 个答案:

答案 0 :(得分:14)

${cookie}指向Map<String, Cookie>,其中Cookie名称为地图关键字,Cookie对象为地图值。对Map <c:forEach>内的Cookie进行的每次迭代都会为您提供Map.Entry后退,而后者又有getKey()getValue()方法。您的疑惑是<c:forEach items="${cookie}" var="currentCookie"> Cookie name as map entry key: ${currentCookie.key}<br/> Cookie object as map entry value: ${currentCookie.value}<br/> Name property of Cookie object: ${currentCookie.value.name}<br/> Value property of Cookie object: ${currentCookie.value.value}<br/> </c:forEach> 对象依次 getValue()方法。

Map<String, Cookie>

这是一个cookieName因为它允许您在事先知道名称时轻松直接访问cookie值。以下示例假定它为${cookie.cookieName.value}

var

您的列表示例无效。 {{1}}不应该引用与列表本身相同的名称。

相关问题