[Seasar-user:12831] Re: [SAStruts/MAYAA] Bean 配列での連携の方法をご教授願えないでしょうか?【2】

suga [E-MAIL ADDRESS DELETED]
2008年 2月 13日 (水) 06:32:58 JST


suga です。

Mayaa のことについてのみですが。

On 2/12/08, TAIGA <[E-MAIL ADDRESS DELETED]> wrote:
> すると、期待どおりにusebean.htmlのテーブルに「TestServlet」で設定した2件のbeanのデータが
> 出力されました。
> ちなみに、ひがさんのご指摘どおりに
>  <m:for id="loop" replace="false"
>     init="${ var i = 0 }"
>     test="${ i < beans.size() }"
>     after="${ i++ }">
>  ...
>  </m:for>
> のようにforを閉じるとテーブルの外に値が出力されてしまいました。
> 私としても、直感的にforは閉じるのかな?と思っていたのですが、mayaaのサンプルが上記のように
> 閉じないようになっていたのでそのとおりにしています。
> どこからどこまではforの処理対象になるか直感的には分からない仕様になっていますね。。

id が対応するタグをプロセッサで置き換えるイメージです。
tr id="loop" なので、tr タグの開始と終了が m:for の開始と終了です。
http://mayaa.seasar.org/documentation/notation.html


問題の切り分けのため、まず beans そのものが見えているかどうか、
beans のサイズはいくつに見えているかを出力してみると良いでしょう。

ちょっと乱暴に init の中に書いてしまうのも手です。

<m:for id="loop" replace="false"
                 init="${ java.lang.System.out.println(''+beans); ; var i = 0 }"
                 test="${ i < beans.length }"
                 after="${ i++ }"/>

# ''+beans としているのはこれまた無理矢理 String にしているだけです


-- 
suga ( [E-MAIL ADDRESS DELETED] )


Seasar-user メーリングリストの案内