如何在Grails中包含jquery.js?

我有一个使用grails create-app创建的Grails 2.0.0项目。 在我的HTML和GSP文件中,我试图包含jquery.js 。 我没有成功地尝试了以下所有方法:

    

前两个标记导致404 Not Found(使用Firebugvalidation)。 标记导致不包含任何内容(使用视图源validation)。

在我的Grails应用程序的主页上,它表明安装了jquery 1.7.1(在“INSTALLED PLUGINS”下)。

Grails包含jquery .js文件的正确方法是什么?

后续: .GSP文件:

    Test    

Test

以下HTML源代码中的结果:

   Test   

Test

请注意,缺少jquery.js。

后续行动2:

我正在使用grails create-app创建我的应用grails create-app

 13:56:40 ~/grailsDev $ grails create-app helloworld | Created Grails Application at /Users/steve/grailsDev/helloworld 13:56:57 ~/grailsDev $ cd helloworld/ 13:57:06 ~/grailsDev/helloworld $ ls -al web-app/js total 8 drwxr-xr-x 3 steve staff 102 Jan 21 13:56 . drwxr-xr-x 7 steve staff 238 Dec 15 08:04 .. -rw-r--r-- 1 steve staff 183 Dec 14 22:56 application.js 13:57:23 ~/grailsDev/helloworld $ grails -version Grails version: 2.0.0 

显然需要包含在 (在 )。 以下实际上有效:

 <%@ page contentType="text/html;charset=UTF-8" %>   Simple GSP page     Place your content here   

jquery插件默认安装在2.0中 – 请参阅grails-app/conf/BuildConfig.groovy 。 要在GSP中使用jquery.js,只需添加以下行:

  

史蒂夫安装Jquery插件后通过grails install-plugin jquery你必须执行另一个grails命令来下载应用程序中的jquery文件

 grails installJQuery 

此目标在web-app / js / jquery /下载并安装jquery-1.7.1.js和jquery-1.7.1.min.js

在grails 2.x中你也可以这样做:

 grails.resources.modules = { core { dependsOn 'jquery, jquery-ui' } } 

Config.groovy

然后在您的GSP中,只需将以下内容放在HEAD元素中:

  

优点是你可以指定其他CSS / JS文件来依赖它,使它在GSP中变得漂亮和干净。 这也是您可以覆盖jQuery / jQuery-UI版本的地方。

根据当前的文档 – http://grails.org/plugin/jquery(Grails版本:1.3> *)2015年9月18日


安装

要安装jQuery插件,请从项目的根文件夹中键入以下命令:

 grails install-plugin jquery 

目标:

 grails installJQuery 
  • 此目标在web-app / js / jquery /下载并安装jquery-1.4.2.js和jquery-1.4.2.min.js

完整的jQuery发行版下载并安装在项目的/ web-app / js / jQuery文件夹下。


用法

Ajax通过jQuery

要让Grails的自适应AJAX支持适应jQuery(而不是默认的Prototype,或其他选择,如YUI或Dojo):

自Grails 1.2:

将此行添加到布局文件中

  

以及grails-app / conf / config.groovy的以下内容

 grails.views.javascript.library="jquery" 

或者您可以使用:

  

(没有plugin =“jquery”)但你需要调用grails installJQuery目标(参见安装选项卡)

我在icodeya看到了一个很好的教程。 http://www.icodeya.com/2012/09/grails-different-ways-to-import.html

你可以在你的gsp中做到这一点:

  

或者您可以在Config.groovy中执行此操作:

 grails.resources.modules = { core{ resource url:'/js/jQuery.js' } myScript { resource url:'/js/myScript.js' dependsOn 'core' } } 

那么,在你的gsp中,你可以附上这个:

  

我发现(来自JQuery插件页面)除了使用标签之外,我还必须明确添加插件标签以使标签看起来像:

知道为什么我必须使用插件属性吗?

目前,在2015年,您所要做的就是在BuildConfig.groovy中添加runtime ":jquery:1.11.1" ,就是这样。

Grails 2.3的更新这可能有助于解决jQuery的配置问题,因此可以从gsp页面获取它。

  1. 首先,如果您运行grails install-plugin jquery命令,它将失败并显示’install-plugin’过时消息: 在此处输入图像描述

所以很可能你已经在你的BuildConfig.groovy中配置了它(注意是运行时,而不是编译):

 plugins { // ... some other plugins here ... runtime ":jquery:1:11:1" } 
  1. 如果您正在使用Eclipse,请执行文件搜索jquery并查看您是否已拥有这些文件: 在此处输入图像描述

  2. 确认您的js目录不为空,它位于web-app目录中。 如果js没有文件或目录,那么只需从第2步中的内容中复制它们: 在此处输入图像描述

  3. 如前所述,这两行的组合似乎有效(在gsp页面的顶部):

在此处输入图像描述

如果jQuery不是第一个加载的javascript库,你可能会遇到问题。 检查layouts/main.gsp文件(如果有)。 您可能需要将jquery添加到所有页面,以便它位于html源代码的最顶层。

希望有所帮助。

注意:在发布时(2015年4月)Grails 3.0已经发布,它似乎与Grails 2.X项目的配置方式不兼容。 希望能够更好地记录以避免2.X.的问题。