web-dev-qa-db-fra.com

Comment inclure jquery.js dans Grails?

J'ai un projet Grails 2.0.0 créé à l'aide de grails create-app. Dans mes fichiers HTML et GSP, j'essaie d'inclure jquery.js. J'ai essayé tout ce qui suit sans succès:

<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"/>

Les deux premières balises <script> donnent 404 Not Found (vérifié avec Firebug). La balise <g:javascript> ne contient aucune information (vérifiée à l'aide de View Source).

Sur la page d'accueil de mon application Grails, cela indique que jquery 1.7.1 est installé (sous "INSTALLED PLUGINS").

Quelle est la méthode correcte dans Grails pour inclure le fichier jquery .js?

Suivi: Le fichier .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>

Résultats dans la source HTML suivante:

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

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

Notez l'absence de jquery.js.

Suivi 2:

Je crée mon application en utilisant 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
21
Steve Kuo

Apparemment, <r:layoutResources/> doit être inclus dans <head> (après <q:javascript library='jquery' />). Ce qui suit fonctionne réellement:

<%@ 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>
27
Steve Kuo

Le plugin jquery est installé par défaut en 2.0 - voir grails-app/conf/BuildConfig.groovy. Pour utiliser jquery.js dans un SPG, ajoutez simplement cette ligne:

<g:javascript library='jquery' />
5
Burt Beckwith

Steve après l'installation du plugin Jquery via grails install-plugin jquery, vous devez exécuter une autre commande grails pour télécharger le fichier jquery dans votre application. 

grails installJQuery

Cette cible télécharge et installe jquery-1.7.1.js et jquery-1.7.1.min.js sous web-app/js/jquery /

5
Wasim

Selon la documentation actuelle - http://grails.org/plugin/jquery (version de Grails: 1.3> *) du 18 septembre 2015


Installation

Pour installer le plug-in jQuery, tapez cette commande dans le dossier racine de votre projet:

grails install-plugin jquery

Cibles:

grails installJQuery
  • Cette cible télécharge et installe jquery-1.4.2.js et jquery-1.4.2.min.js sous web-app/js/jquery /

La distribution complète de jQuery est téléchargée et installée dans le dossier/web-app/js/jQuery de votre projet.


Usage

Ajax via jQuery

Pour que le support adaptatif AJAX de Grails s'adapte à jQuery (plutôt qu'à la valeur par défaut de Prototype ou à un autre choix comme YUI ou Dojo):

Depuis Grails 1.2:

Ajouter cette ligne à votre fichier de mise en page

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

et les suivants à votre grails-app/conf/config.groovy

grails.views.javascript.library="jquery"

alternativement, vous pouvez utiliser:

<g:javascript library="jquery" />

(sans plugin = "jquery") mais vous devrez appeler la cible grails installJQuery (voir Onglet Installation)

4
Nick Grealy

Dans Grails 2.x, vous pouvez aussi faire:

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

dans Config.groovy

Ensuite, dans votre système de préférences généralisées, placez simplement ce qui suit dans votre élément HEAD:

<r:require module="core"/>

L'avantage est que vous pouvez spécifier d'autres fichiers CSS/JS sur lesquels vous pouvez compter, ce qui en fait une option propre et nette dans le SGP. C'est également à cet endroit que vous pouvez remplacer les versions de jQuery/jQuery-UI.

4
Laurence

J'ai vu un bon tutoriel à ce sujet dans icodeya. http://www.icodeya.com/2012/09/grails-different-ways-to-import.html

vous pouvez le faire dans votre gsp:

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

OUvous pouvez le faire dans votre Config.groovy:

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

alors, dans votre gsp, vous pouvez attacher ceci:

<r:require module="myScript" />
3
ShootingStar

Mise à jour pour Grails 2.3 Ceci pourrait aider à résoudre la configuration de jQuery afin qu’elle soit disponible à partir de vos pages gsp.

  1. Tout d'abord, si vous exécutez la commande grails install-plugin jquery, le message obsolète 'install-plugin' échouera: enter image description here

Donc, le plus probablement, vous l'avez déjà configuré dans votre BuildConfig.groovy comme ceci (notez que c'est runtime, pas compilé):

plugins {
    // ... some other plugins here ...
    runtime ":jquery:1:11:1"
}
  1. Si vous utilisez Eclipse, faites un Fichier , recherchez jquery et voyez si vous avez déjà les fichiers: enter image description here

  2. Confirmez que votre répertoire js n'est pas vide, il se trouve dans le répertoire web-app. Si js ne contient aucun fichier ou répertoire, copiez-le simplement de ce que vous avez entré à l'étape 2: enter image description here

  3. Comme mentionné précédemment, la combinaison de ces deux lignes semble fonctionner (en haut de vos pages gsp):

enter image description here

Si jQuery n'est pas la toute première bibliothèque javascript à charger, vous risquez d'avoir des problèmes. Vérifiez votre fichier layouts/main.gsp si vous en avez un. Vous devrez peut-être ajouter jquery à toutes vos pages pour que ce soit tout en haut de votre source HTML.

J'espère que cela pourra aider.

Remarque: Au moment de cette publication (avril 2015), Grails 3.0 a été publié et il semble être incompatible avec les projets Grails 2.X dans leur configuration. Espérons que cela sera mieux documenté pour éviter les problèmes avec 2.X.

0
Salvador Valencia

Actuellement, en 2015, tout ce que vous avez à faire est d’ajouter runtime ":jquery:1.11.1" à votre BuildConfig.groovy et c’est tout.

0
lxknvlk

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

0
Wasim

J'ai découvert (à partir de la page du plug-in JQuery) qu'en plus d'utiliser la balise <g:javascript library="jquery"/>, je devais ajouter explicitement le libellé du plug-in pour que la balise ressemble à ceci:

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

Avez-vous une idée de la raison pour laquelle je devais utiliser la propriété plugin?

0
Navonod