Grails用のDojoプラグインを使用して、dojox.grid.DataGridオブジェクトにデータを入力しています。現在、このグリッドに関連付けられているコントローラーアクションは、グリッドの内容を定義するJSONをレンダリングします。GSPの列を事前に定義している限り、これは問題なく機能します。ただし、私のアプリケーションでは、データベースクエリの結果に基づいて、列の数(および関連する名前)を動的に設定できる必要があります。このグリッドのJSON形式には列名が含まれていないため、GSPでag:eachタグを使用して名前を反復処理することはできません。
私はこのようなことをしたかったのですが、できません:
<dojo:grid controller='foo' action='getGridData' ...>
<g:each in=${columns}>
<dojo:col width="15%" name="{it}" field="{it}">{row.{it}}<dojo:col/>
</g:each>
</dojo:grid>
背景用のDojoプラグインの具体例を示しましたが、これをGrailsに関するより一般的な質問に拡張したいと思います。JSONをレンダリングするコントローラーアクションによってGSP要素を構築している場合、ネストされた要素を構築するためにコントローラー内の他のものにアクセスするにはどうすればよいですか?これも可能ですか?私はまだWeb開発に慣れていないので、これらのコンポーネント間の接着剤の一部を誤解していると確信しています。