21

我有一个使用grails create-app. 在我的 HTML 和 GSP 文件中,我试图包含jquery.js. 我尝试了以下所有方法但均未成功:

<script type="text/javascript" src="jquery/jquery-1.7.1.js"></script>
<script type="text/javascript" src="jquery/jquery.js"></script>
<g:javascript library="jquery"/>

前两个<script>标签导致 404 Not Found(使用 Firebug 验证)。该<g:javascript>标记导致不包含任何内容(使用查看源代码验证)。

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

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

跟进: .GSP 文件:

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
  <head>
    <title>Test</title>
    <g:javascript library="jquery/jquery"/>
  </head>
  <body>
    <h1>Test</h1>
  </body>
</html>

结果如下 HTML 源代码:

<html>
  <head>
    <title>Test</title>

  </head>
  <body>
    <h1>Test</h1>
  </body>
</html>

请注意没有包含 jquery.js。

跟进2:

我正在使用以下方式创建我的应用程序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
4

10 回答 10

27

显然<r:layoutResources/>需要包含在<head>(之后<q:javascript library='jquery' />)中。以下实际有效:

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
  <head>
    <title>Simple GSP page</title>
    <g:javascript library='jquery' />
    <r:layoutResources/>
  </head>
  <body>
    Place your content here
  </body>
</html>
于 2012-01-21T22:59:48.133 回答
5

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

<g:javascript library='jquery' />
于 2012-01-21T22:15:12.147 回答
5

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

grails installJQuery

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

于 2012-01-21T22:23:47.223 回答
4

在 grails 2.x 中,您还可以执行以下操作:

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

Config.groovy

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

<r:require module="core"/>

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

于 2012-02-23T22:42:08.623 回答
4

根据当前文档 - 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 文件夹下。


用法

通过 jQuery 实现的 Ajax

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

从 Grails 1.2 开始:

将此行添加到您的布局文件

<g:javascript library="jquery" plugin="jquery"/>

并将以下内容添加到您的 grails-app/conf/config.groovy

grails.views.javascript.library="jquery"

或者,您可以使用:

<g:javascript library="jquery" />

(没有 plugin="jquery")但您需要调用 grails installJQuery 目标(请参阅安装选项卡)

于 2014-07-23T07:23:25.860 回答
3

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

您可以在您的 gsp 中执行此操作:

<g:javascript src="myscript.js"/ >

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

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

然后,在您的 gsp 中,您可以附加以下内容:

<r:require module="myScript" />
于 2012-09-16T18:22:39.067 回答
0

<g:javascript library="jquery/jquery"/>

于 2012-01-21T21:24:15.490 回答
0

我发现(来自 JQuery 插件页面)除了使用<g:javascript library="jquery"/>标签之外,我还必须显式添加插件标签以使标签看起来像:

<g:javascript library="jquery" plugin="jquery"/>

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

于 2014-11-20T20:24:15.503 回答
0

目前,在 2015 年,您所要做的就是添加runtime ":jquery:1.11.1"到您的 BuildConfig.groovy 中,仅此而已。

于 2015-02-18T21:28:09.523 回答
0

Grails 2.3的更新 这可能有助于解决 jQuery 的配置问题,以便可以从您的 gsp 页面使用它。

  1. 首先,如果您运行 grailsinstall-plugin jquery命令,它将失败并显示“安装插件”过时消息: 在此处输入图像描述

所以很可能你已经像这样在 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 的问题。

于 2015-04-23T00:35:01.097 回答