JSTLのc:foreachは、Stringをコンマで分割できる。
Iterableを実装したクラスをc:foreachのitemsに指定したらエラーになった。Iterableでは繰り返せないらしい。なんで?
気になったので、itemsに何を指定できるのか調べた。JSTL1.0仕様(jstl-1_0-fr-spec.pdf) p.66に何を指定できるのか書いてある。
- 配列
- java.util.Collection
- java.util.Iterator
- java.util.Enumeration
- java.util.Map - Map.Entryがvarに設定される。
- String - コンマで分割する(!)
最後のが意外。ちょっと便利な気がするけど、どうだろ。普通は分割してからビューに渡す気もするなー。
以下、関連リンク。
- http://jcp.org/aboutJava/communityprocess/final/jsr052/
- JSTL1.0仕様 PDFダウンロードページ
- http://java.sun.com/products/jsp/jstl/reference/api/index.html
- JSTLのドキュメント置き場
ついでに。あんまり関係ないけど JSP2.0 XML Cheat Sheet。