2

すべての gsp 式を評価できるように *.js ファイルを後処理する可能性があるのではないかと考えています。

たとえば、次のコードを gsp ページに直接記述できます。

<script type="text/javascript">
$.post("${createLink(controller:'mycontroller',action:'myaction')} " , {"id":id},function(){});
</script>

そして式 ${createLink} は grails によって評価されます。

しかし、grails によって処理されない *.js ファイルで ${createLink()} も使用したいと思います。リソース プラグインを使用してすべての *.js ファイルを後処理し、gsp 式を評価することは可能でしょうか?

もちろん、すべての js コードを別の gsp ページにラップすることもできますが、エレガントなソリューションとは思えません。

どんな助けでも大歓迎です。

4

3 に答える 3

2

これのいずれかがあなたのために働くはずです

于 2012-08-08T13:46:34.383 に答える
0

別のオプションは、変数にURLを格納するために同様のことを行うことです

<script type="text/javascript">
  var url = "${createLink(controller:'mycontroller',action:'myaction')}";
</script>

次に、必要なすべての ajax 呼び出しを使用して、URL を一度だけ設定することができます。

于 2012-08-08T17:58:28.347 に答える
0

GSP ファイルで JS ハッシュを使用して重要なものを保存する

<r:script>
 var linkobject={
   mylink:'${createLink(controller:"mycontroller",action:"myaction")}',
     linkA : '${params.id}',
    linkB: '${g.createLink(action: "getThreats")}',
    linkC: '${g.createLink(action: "addThreat")}',
    linkD: '${g.resource(dir: 'images/icons', file: 'folder.png')}'
 
}

</r:script>

次に、JavaScript ファイルでその JS ハッシュを使用して、必要なものを取得します。

$.post(linkobject.mylink , {"id":linkobject.linkA},function(){});
于 2013-04-24T16:59:28.850 に答える