Super Agile Struts開発記その5 - BeanUtilsその6 - JSTL連動
で、今はどうしようとしているかというと、JavaBeansをMapでラップしようとしています。でも、単純にラップするだけだとうまく行かないのです。JavaBeansがネストしているときは、ネストしたJavaBeansもラップしないといけないから。後、Collectionや配列でその要素がJavaBeansの場合も、ラップしてあげないといけない。
すごい地味だけどこれはすごい。今まで知らなかったけど、JSTLでMapはJavaScriptのMapと同じようにプロパティでも添え字でもアクセスできるんですね。
${map["name"]} ${map.name}
つまり上の2つは同じ意味。この方法使えば確かにpublicフィールドをプロパティのように見せかけることできますね。Cubbyではここは無理だとあきらめていて、アクションのアクセサはPropertyInterTypeで作ってね、Beanはアクセサ作ってねっていう方針だったけど、これできるならCubbyでもちょっと対応したくなってきますね。