JavaScript中的GSP标签

GSP tags in JavaScript

本文关键字:标签 GSP 中的 JavaScript      更新时间:2023-09-26

我在GSP的<head>中有以下内容

<script type="text/javascript>
    $("button.remove-item").click(function() {
        $.ajax({
            url: "${createLink(action: 'remove', controller: 'cart')}",
            type: 'POST'
        });
    });
</script>

请注意,我正在使用Grails的createLink标记来构造AJAX请求将发送到的URL。当我将这段代码移动到checkout.js并将上面的代码块替换为:

<script type="text/javascript" src="${resource(dir: 'js', file: 'checkout.js')}"></script>
Grails不再计算

createLink标签。因此,<script>块内的Grails标签似乎被评估,但gsp包含的.js文件内的标签没有-有办法改变这一点吗?

查看GSParse插件,将css和js解析为gsp文件:

http://nerderg.com/GSParse

http://grails.org/plugin/gsp-arse

你是对的。js文件不会被grails求值!但普惠制是!这就是为什么当你设置一个标签时,它是工作的。我建议你有一个不同的方法来抓住这个链接!当你使用jquery时,我会这样做:

<input type="button" class="remove-item" data-url="${createLink(action: 'remove', controller: 'cart')}" value="GO" />

checkout.js:

$("button.remove-item").click(function() {
    $.ajax({
        url: $(this).data('url'),
        type: 'POST'
    });
});