は、Cookie 名をマップ キーとして、オブジェクトをマップ値として持つ を${cookie}指します。inを反復するたびにback が返され、次にandメソッドが返されます。あなたの混乱は、オブジェクトがメソッドも持っているということです。Map<String, Cookie>CookieMap<c:forEach>Map.EntrygetKey()getValue()CookiegetValue()
<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、リスト自体と同じ名前を参照してはなりません。