2009年12月8日火曜日

[Grails] GSP部分テンプレート内のitがときどき消滅する件

grailsのバージョンは1.2-M4

grailsで部分テンプレート「/share/_book.gsp」を表示するとき、



とかやると思います。
このとき、部分テンプレート「/share/_book.gsp」内の変数「it」にbookが自動で設定されるわけですが、
この「it」にアクセスできないことがあるようです。

具体的には、部分テンプレート「/share/_book.gsp」内で

${it.title.encodeAsHTML()}

というふうに、linkタグを使っているときにlinkタグテキスト部内のit(it.title.encodeAsHTML())にアクセスできないみたいです。この場合、次のようにdelegateからアクセスする必要があります。

${delegate.it.title.encodeAsHTML()}


テキスト部は、クロージャになってタグライブラリの引数に渡されるので、delegateの差し替えなどしていない場合上のようになる…のかな?

0 件のコメント:

コメントを投稿