[Seasar-user:17319] Re: [SAStruts][Mayaa]s:linkのhrefについて

suga [E-MAIL ADDRESS DELETED]
2009年 4月 25日 (土) 15:19:42 JST


suga です。

2009/4/24 Hiroshi Yamamoto <[E-MAIL ADDRESS DELETED]>:
> 現在SAStruts + Mayaaの構成で開発を行っているのですが、
> mayaaファイルが下記の場合に例外となってしまっています。
>
>  <m:forEach m:id="hogeList" items="${hogeList}" var="hoge" />
>  <s:link m:id="hoge" href="/hoge/${hoge.fuga}" />
>
> s:linkをm:writeに変えると問題なく値が出力されています。
>
>  <m:forEach m:id="hogeList" items="${hogeList}" var="hoge" />
>  <m:write m:id="hoge" value="${hoge.fuga}" />
>
> 凡ミスの気もするのですが、何か考えられることはありますでしょうか。

エラーが「TypeError: Cannot read property "fuga" from undefined in ...」ですので
${hoge.fuga}  の hoge が undefined (null) になっています。

Dolteng で生成した SAStruts + Mayaa の blank の mayaa を 1.1.24 にして試して
みましたが、下記の場合だと正常に動作します。
挙げられているコード以外のところに原因があるのではないかと思いますが、
それ以上はちょっとわかりません。

<m:beforeRender><![CDATA[
    request.hogeList = [
        { fuga : 'aaa' },
        { fuga : 'bbb' },
        { fuga : 'ccc' }
    ];
]]></m:beforeRender>

<m:forEach m:id="hogeList" items="${hogeList}" var="hoge" />
<s:link m:id="hoge" href="/hoge/${hoge.fuga}" />


単純に考えられる場合としては、s:link が m:forEach の中にない、
var="..." の変数のタイプミス、hogeList に null が入っている、
くらいですけれども。

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


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