[mayaa-user:511] Re: <m:forEach>を使った2重ループ

藤澤 克己 [E-MAIL ADDRESS DELETED]
2007年 5月 21日 (月) 16:37:54 JST


藤澤です。早速の回答ありがとうございます。
意図した通りの動きが実現できました。

<m:doRender name="loopProc" />タグですが、
外側のm:id(loopOp)を起点として処理が行われてしまい、内側を書き換えてしまう
のを防ぐ意図で使いましたが、どうやら私の解釈の仕方が間違っていたようです。

教えていただいた書き方でやりたいことが実現できました。
ありがとうございました。

-----Original Message-----
From: [E-MAIL ADDRESS DELETED] [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of suga
Sent: Monday, May 21, 2007 4:23 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [mayaa-user:510] Re:<m:forEach>を使った2重ループ

suga です。

On 5/21/07, 藤澤 克己 <[E-MAIL ADDRESS DELETED]> wrote:
> 入れ子になっている配列をまわしながら個々の値をとりだし、
> 外側の配列で<tr>タグ(属性値に、opCodeとvalue)
> 内側の配列で<td>タグ(属性値に、procCodeとvalue)
> を作成したいと考え下にありますHTMLテンプレートとmayaaファイルを用意しましたが、
> "ReferenceError: "listProc" is not defined. in script=listProc.procCode"
> と表示され、うまく動作しません。

内側のループ用プロセッサが <m:echo m:id="M_024"> のボディとして定義されている
ためですね。
下記のようにすれば意図した動作になると思います。

-----ここから
<m:forEach m:id="loopOp" items="${form.listOp}" var="listOp"/>

<m:echo m:id="M_024">
   <m:attribute name="op_code" value="${listOp.opCode}" />
   <m:attribute name="value" value="${listOp.value}" />
</m:echo>

<m:forEach m:id="loopProc" items="${listOp.listProc}" var="listProc"/>

<m:echo m:id="M_050">
   <m:attribute name="proc_code" value="${listProc.procCode}" />
   <m:attribute name="value" value="${listProc.value}" />
</m:echo>
---- ここまで

ただ、<m:echo m:id="M_024"> のボディにある <m:doRender name="loopProc" /> が
何のためのものなのかわかりません。上の例では除外しています。
挙げられた例ではわかりませんでしたので、もしこの doRender が無いために意図した
出力が得られないようでしたら、これのための情報も教えてください。


以上、よろしくお願いします。
-- 
suga ( [E-MAIL ADDRESS DELETED] )
_______________________________________________
mayaa-user mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/mayaa-user


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