GSParse:script、css即GSP

在写Web应用的时候,绝对目录、相对目录往往就让人够晕的。现在好了,Grails有插件解决这一问题——GSParse。

该插件能够按照GSP来处理基目录里的资源文件。其主要目的是提供这么一种方式,能够在Javacript文件中给资源传递相对路径,以访问控制器来调用AJAX。

看个Javascript例子,下例中g.createLink标签是相对于URL的:

$(function() {
    $("#task").autocomplete('${g.createLink(controller: "task", action: "suggestTask")}', {
        max: ${max},
        width: 300
    });
});

CSS也一样,用了这个插件,在CSS中也可以方便地使用变量和资源路径,例如:

body {
    background: url('${g.resource(dir: "image", file: "thing.png")}');
    color: #${color};
}

是不是很方便,不过调试起来应该比以前麻烦了,毕竟还得按GSP解析一下。

要玩转GSParse,还需要做些配置。

URL Mapping

"/resource/$path**"(controller: 'script', action: 'parse')

在layout template里要有如下代码:

<script type="text/javascript" src="resource/js/application.js"></script>

相关资源:

By songwei - Posted on 02 八月 2010