0

このように grails オブジェクトに JavaScript 変数を割り当てることはできますか?

var newReport = ${report};

reportコントローラーから gsp ファイルに戻される grails ドメイン オブジェクトです。

現在、これは私のページでは機能しません。

4

2 に答える 2

2

レポートが Grails ドメイン クラスであると仮定すると、これを有効な JavaScript 形式に「変換」する必要があります。1 つの方法は、これを JSON として設定することです。何かのようなもの:

コントローラーで

def reportJson = report as JSON

gspでは

<script type='text/javascript'>
  var newReport = $.parseJSON("${reportJson}");
</script>

parseJSON は json 文字列を受け取り、javascript オブジェクトを返します。

于 2012-12-12T17:07:45.557 に答える
0

ドメイン オブジェクトを JSON として gsp にレンダリングするだけです。ここで、一部の JavaScript コードはeval()関数によって json を取得します。例えば:

ドメイン クラス - バンド:

String bandName    //some property
...

コントローラ:

def bands = Band.list()
render(template:"result", model:[bands:bands as JSON]

_result.gsp:

<script>
    var bandList = eval(${bands});
    for(i=0; i<bandList.length; i++){   
        var name = bandList[i].bandName;
        ....
    }
    ....
</script>
于 2012-12-15T14:30:18.290 に答える