17

我有几个自己的 Javascript 库,它们可以很好地修饰我的 HTML 页面,我想将它们包含在我的 gsp 页面中,尤其是我的应用程序的登录页面。我已经尝试将它们放在views文件夹中web-app/js$APP_HOME/scripts但是当我加载我的 index.gsp 时,脚本没有显示出来。

我还在我的代码中尝试了各种替代方案,但都不起作用......

<script src="mylib.js" type="text/javascript"></script>
<script src="js/mylib.js" type="text/javascript"></script>
<script src="scripts/mylib.js" type="text/javascript"></script>

我确信有一种巧妙的 grails 方法可以即时执行此操作,但我真的只是想要一个可以放置一些可以在我的应用程序中使用的样板 JavaScript 代码的位置。考虑到约定优于配置,预期的做法是什么?

4

5 回答 5

23

您可能不应该使用<g:javascript library="myLib" />它,因为它是用来使 AJAX 调用库(scriptaculous、dojo、yahoo、jquery)无动于衷的一种方式。请参阅grails javascript。而是使用<g:javascript src="myLib.js" />.

于 2010-01-12T19:32:58.340 回答
13

将您的 JS 文件放在:中,我认为应该web-app/js/myLib.js放入您的布局。<g:javascript library="myLib" />

于 2010-01-11T21:23:26.327 回答
1

有两种方法可以包含 JS 文件和 JS 库,如 scriptaculous

// actually imports '/app/js/myscript.js'
<g:javascript src="myscript.js" />

// imports all the necessary js for the scriptaculous library
<g:javascript library="scriptaculous" />

<g:javascript>alert('hello')</g:javascript>

参考: http: //grails.org/doc/latest/ref/Tags/javascript.html

于 2013-05-13T15:04:26.003 回答
0

我想我找到了答案……

如果我在我的 gsp 中使用这个标签(而不是一个简单的 javascript 参考)

<g:javascript library="mylib" />     

然后,当我查看生成的页面源时,它指的是

<script type="text/javascript" src="/myapp/js/mylib.js"></script>

这对应于文件夹web-app/js,所以我把我的脚本库放在那里,它工作正常。对我来说,突破是 a) 将我的 index.html 重命名为 index.gsp 和 b) 使用g:javascript标签。

于 2010-01-11T21:22:06.717 回答
0

使用<g:javascript src="myscript.js" />并放置您的脚本web-app/js/myscript.js

有关您自己的外部脚本、内联代码和库的完整详细信息和示例,请参见http://grails.org/doc/latest/ref/Tags/javascript.html

于 2013-01-05T20:51:18.377 回答