在检索我需要使用的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如何工作?
答案 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}}不应该引用与列表本身相同的名称。