使用grails后处理*.js文件
我想知道是否有可能对*.js文件进行后处理,以便对每个gsp表达式进行求值 例如,我可以直接在gsp页面中编写以下代码:使用grails后处理*.js文件,grails,gsp,Grails,Gsp,我想知道是否有可能对*.js文件进行后处理,以便对每个gsp表达式进行求值 例如,我可以直接在gsp页面中编写以下代码: <script type="text/javascript"> $.post("${createLink(controller:'mycontroller',action:'myaction')} " , {"id":id},function(){}); </script> $.post(${createLink(控制器:'mycontroller
<script type="text/javascript">
$.post("${createLink(controller:'mycontroller',action:'myaction')} " , {"id":id},function(){});
</script>
$.post(${createLink(控制器:'mycontroller',操作:'myaction')},{id:id},函数(){});
表达式${createLink}由grails计算
但我也希望在grails未处理的*.js文件中使用${createLink()}。
也许可以使用资源插件对每个*.js文件进行后处理并计算gsp表达式
当然,我可以将我所有的js代码包装在一个单独的gsp页面中,但这似乎不是一个优雅的解决方案
任何帮助都将不胜感激。这两种方法中的任何一种都适合您
- (独立)
- (它与资源插件一起工作)
<script type="text/javascript">
var url = "${createLink(controller:'mycontroller',action:'myaction')}";
</script>
var url=“${createLink(控制器:'mycontroller',操作:'myaction')}”;
然后,您可以使用所有想要的ajax调用,并且仍然只设置一次url。在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>
非常感谢。GSP资源插件正是我想要的。
$.post(linkobject.mylink , {"id":linkobject.linkA},function(){});