mvc - ¿Cómo incluir jquery.js en Grails?
spring security web (10)
Actualización para Grails 2.3 Esto podría ayudar a solucionar problemas de configuración de jQuery para que pueda estar disponible desde sus páginas gsp.
- En primer lugar, si ejecuta el comando gils
install-plugin jquery
se producirá un error con el mensaje obsoleto ''install-plugin'':
Así que lo más probable es que ya lo hayas configurado en tu BuildConfig.groovy así (nota es tiempo de ejecución, no compilación):
plugins {
// ... some other plugins here ...
runtime ":jquery:1:11:1"
}
Si está utilizando Eclipse, haga una búsqueda de archivos para jquery y vea si ya tiene los archivos:
Confirme que su directorio
js
no esté vacío, se encuentra dentro del directorio de laweb-app
. Sijs
no tiene archivos o directorios, simplemente cópielos de lo que obtuvo en el paso 2:Como se mencionó anteriormente, la combinación de estas dos líneas parece funcionar (en la parte superior de sus páginas gsp):
Si jQuery no es la primera biblioteca javascript que se carga, es posible que tengas problemas. Verifique su layouts/main.gsp
archivo layouts/main.gsp
si tiene uno. Puede que necesite agregar jquery a todas sus páginas solo para que esté en la parte superior de su fuente html.
Espero que ayude.
Nota: En el momento de esta publicación (abril de 2015), se lanzó Grails 3.0 y parece ser incompatible con los proyectos de Grails 2.X en la forma en que están configurados. Es de esperar que esté mejor documentado para evitar los problemas con 2.X.
Tengo un proyecto de Grails 2.0.0 que se creó con grails create-app
. En mis archivos HTML y GSP, intento incluir jquery.js
. Intenté todo lo siguiente sin éxito:
<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"/>
Las primeras dos etiquetas <script>
dan como resultado 404 Not Found (verificado con Firebug). La etiqueta <g:javascript>
da como resultado que se incluya nada (verificado mediante la fuente de visualización).
En la página de inicio de mi aplicación Grails, indica que jquery 1.7.1 está instalado (en "PLUGINS INSTALADOS").
¿Cuál es la forma correcta en Grails para incluir el archivo jquery .js?
Seguimiento: el archivo .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>
Resultados en la siguiente fuente HTML:
<html>
<head>
<title>Test</title>
</head>
<body>
<h1>Test</h1>
</body>
</html>
Tenga en cuenta la falta de jquery.js incluidos.
Seguimiento 2:
Estoy creando mi aplicación usando 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
Actualmente, en 2015, todo lo que tiene que hacer es agregar el runtime ":jquery:1.11.1"
a su BuildConfig.groovy, y eso es todo.
Aparentemente, <r:layoutResources/>
debe incluirse en <head>
(después de <q:javascript library=''jquery'' />
). Lo siguiente realmente funciona:
<%@ 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>
El plugin jquery está instalado por defecto en 2.0 - vea grails-app/conf/BuildConfig.groovy
. Para usar jquery.js en un GSP simplemente agregue esta línea:
<g:javascript library=''jquery'' />
En Grails 2.x también puedes hacer:
grails.resources.modules = {
core {
dependsOn ''jquery, jquery-ui''
}
}
en Config.groovy
Luego, en su GSP simplemente coloque lo siguiente en su elemento HEAD
:
<r:require module="core"/>
La ventaja es que puede especificar otros archivos CSS / JS para que dependan, lo hace agradable y limpio en el GSP. Aquí también es donde puede anular las versiones de jQuery / jQuery-UI.
Encontré (en la página de JQuery Plugin) que además de usar la etiqueta <g:javascript library="jquery"/>
, tuve que agregar la etiqueta del complemento explícitamente para hacer que la etiqueta se vea así:
<g:javascript library="jquery" plugin="jquery"/>
¿Alguna idea de por qué tuve que usar la propiedad del complemento?
Según los documentos actuales - http://grails.org/plugin/jquery (versión de Grails: 1.3> *) el 18 de septiembre de 2015
Instalación
Para instalar el complemento jQuery, escriba este comando desde la carpeta raíz de su proyecto:
grails install-plugin jquery
Objetivos:
grails installJQuery
- Este objetivo descarga e instala jquery-1.4.2.js y jquery-1.4.2.min.js bajo web-app / js / jquery /
La distribución completa de jQuery se descarga e instala en la carpeta / web-app / js / jQuery del proyecto.
Uso
Ajax a través de jQuery
Para que el soporte AJAX adaptativo de los Grails se adapte a jQuery (en lugar del predeterminado de Prototype u otra opción como YUI o Dojo):
Desde Grails 1.2:
Agregue esta línea a su archivo de diseño
<g:javascript library="jquery" plugin="jquery"/>
y lo siguiente a tu grails-app / conf / config.groovy
grails.views.javascript.library="jquery"
alternativamente puedes usar:
<g:javascript library="jquery" />
(sin plugin = "jquery") pero deberá llamar al objetivo installJQuery de grils (ver la pestaña Instalación)
Steve después de instalar el plugin de Jquery a través de grils install-plugin jquery, tiene que ejecutar otro comando de grails para descargar el archivo jquery en su aplicación
grails installJQuery
Este objetivo descarga e instala jquery-1.7.1.js y jquery-1.7.1.min.js en la aplicación web / js / jquery /
Vi un buen tutorial sobre eso en icodeya. http://www.icodeya.com/2012/09/grails-different-ways-to-import.html
puedes hacer esto en tu gsp:
<g:javascript src="myscript.js"/ >
O puede hacer esto en su Config.groovy:
grails.resources.modules = {
core{
resource url:''/js/jQuery.js''
}
myScript {
resource url:''/js/myScript.js''
dependsOn ''core''
}
}
luego, en tu gsp, puedes adjuntar esto:
<r:require module="myScript" />
<g:javascript library="jquery/jquery"/>