GRAILS:包含javascript文件,其中包含插件中的grails代码

时间:2015-08-20 08:52:41

标签: grails gsp

我想从插件中将javascript文件custom.js包含在我的gsp中。我的主应用程序使用此插件作为依赖项。 custom.js javascript文件包含一个变量,其值是通过在GString内执行grails代码获得的。

var root = "${request.contextPath}";

它必须是一个单独的文件,如果我尝试使用<script src="custom.js"></script>将其包含在我的.gsp文件中,则grails代码不会被执行。如果我使用<g:javascript src="custom.js" />,它会尝试从插件中获取文件,但无法找到它。该文件实际上在我的主应用程序中。但是试图包含它的代码在插件中。类似于提供自定义Javascript实现的方式。我该怎么做?

1 个答案:

答案 0 :(得分:0)

<强>更新 考虑this answer,我必须在单独的脚本标记中指定变量的值。如果grails代码位于非.gsp文件中,则不会解释它。

我解决了。我所要做的就是:将contextPath=""添加到g:javascript代码

根据关于contextPath属性的标记g:javascript的文档:

  

contextPath(可选) - 要使用的上下文路径(相对于   应用上下文路径)。默认为“”或插件的路径   插件视图或模板。

默认为插件的路径。因此,通过将其设置为空字符串,我们告诉它避免来自源的插件路径。以前,它将javascript的路径修改为类似appname/plugins/pluginname/js/custom.js的路径。现在将contextPath设置为空字符串,它只是创建路径appname/js/cusomt.js