grails标签库需要包含javascript

时间:2014-03-09 17:46:39

标签: javascript grails taglib

我正在尝试编写一个grails插件,以允许grails应用程序扫描qr代码。我正在使用jsqrcode https://github.com/LazarSoft/jsqrcode来执行qr代码的实际解释。

这意味着我需要在任何使用我的qrcode扫描标记的页面中包含许多javascript文件。

现在,我已经创建了一个只导入脚本的标记,如下所示:

StringBuilder sb = new StringBuilder()
sb << """<script src="/${grails.util.Metadata.current.'app.name'}/js/jsqrcode/grid.js"></script>"""
...
sb.toString()

这对我来说很糟糕。

有没有更好的(对吗?)方式来解决这个问题?

为了澄清,创建一个标签以导入特定的javascript感觉就像一个kludge至少有两个原因。首先,这要求使用插件的人必须在使用此库的任何页面中包含此“import”标记一次(我不是非显而易见的依赖的粉丝)。第二,我担心使用

${grails.util.Metadata.current.'app.name'}

可能会给使用网址映射的人带来问题。

1 个答案:

答案 0 :(得分:1)

对于处理JS包含,最好绑定到Grails Asset Pipeline插件,这将成为grails 2.4中的默认插件。该插件已经有办法确保文件只包含一次,请查看{{ 3}}