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でもちょっと対応したくなってきますね。