JSP式言語での発見
イヤ,単にあたしが無知なだけなんだがの.
Mapに対しては,'${map["key"]}'だけじゃなくて,'${map.key}'でもアクセスできる.つまり,
${header["host"]} ${header.host}
は同じ意味.でも,
${header["keep-alive"]}
はイイけど,
${header.keep-alive}
はダメ.
#当たり前だ.
あと,こんなコードは,
for (Iterator it = maps.keySet().iterator(); it.hasNext(); ) { Object key = it.next(); %><%= maps.get(key) %><% }
こう書ける.
<c:forEach var="item" items="${header}"> ${header[item.key]} </c:forEach>
でも,こう書いた方が楽.
<c:forEach var="item" items="${header}"> ${item.key} : ${item.value} </c:forEach>
JSTL+式言語的には,こっちがスマートっぽいんだが,Map.Entryを使うってのはイディオム的に馴染みがないので,ちょっとイヤだ.