[Seasar-user:12888] Re: [SAStruts/MAYAA] Bean 配列での連携の方法をご教授願えないでしょうか?【2】
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2008年 2月 15日 (金) 11:10:41 JST
ひがです。
> TAIGAです。
>
> SAStruts 1.0.1-rc2により、本件解決しました。
> ありがとうございました。
>
> 一つ気になるところがあるのですが、
> sastrutsのActionでは
>
> のようにbeansはMyBeanクラスの配列で定義しています。
> これを.mayaaファイルでは
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <m:mayaa xmlns:m="http://mayaa.seasar.org"
> xmlns:fmt="http://java.sun.com/jsp/jstl/fmt">
> <m:for id="loop" replace="false"
> init="${ var i = 0 }"
> test="${ i < beans.size() }" …………(1)
> after="${ i++ }"/>
>
> <m:write id="id" value="${ beans[i].id }" />
> <m:write id="name" value="${ beans[i].name }" />
> <fmt:formatNumber m:id="decimal" value="${ beans[i].decimal }" />
> <fmt:formatDate m:id="timestamp" value="${ beans[i].timestamp }" />
> </m:mayaa>
>
> (1)の箇所でbeans.size()でないと配列数が取得できません。
> Javaソース上ではbeansはMyBeanクラスの配列なので配列数はbeans.lengthで取得しますよね?
>
> これがsastrutsを利用した場合にはbeans.size()で取得することになるので、ハマリポイントに
> なりそうです。仕様上beans.lengthで配列数を取得することは難しいのでしょうか?
>
ほとんどのテンプレートエンジンは、publicフィールドに
対応していないと思うので、BeanをMap、配列をリストに変換することは
必要になると思います。
Mayaaがpublicフィールドに対応しているなら、
生でオブジェクトを見せるというオプションを用意してもいいのですけど。
Seasar-user メーリングリストの案内