は、Cookie 名をマップ キーとして、オブジェクトをマップ値として持つ を${cookie}
指します。inを反復するたびにback が返され、次にandメソッドが返されます。あなたの混乱は、オブジェクトがメソッドも持っているということです。Map<String, Cookie>
Cookie
Map
<c:forEach>
Map.Entry
getKey()
getValue()
Cookie
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>
これMap<String, Cookie>
は、名前が事前にわかっている場合に、Cookie の値に簡単に直接アクセスできるためです。以下の例では、次のように想定していますcookieName
。
${cookie.cookieName.value}
ちなみに、リストの例は無効です。はvar
、リスト自体と同じ名前を参照してはなりません。