Mostrando entradas con la etiqueta Grails. Mostrar todas las entradas
Mostrando entradas con la etiqueta Grails. Mostrar todas las entradas

jueves, 3 de septiembre de 2009

Primer Clase de Dominio Grails

Creamos un proyecto llamado claseDominio como sigue

grails create-app claseDominio

Nos metemos al proyecto recien creado

cd claseDominio

Creamos una clase de dominio

grails create-domain-class org.dracof.persona

Modificamos la clase de dominio Persona ubicada en ../claseDominio/grails-app/domain/org/dracof/ agragando

String nombre
String apellidoPaterno
String apellidoMaterno
int edad

Quedando al final como sigue

package org.dracof

class Persona {

String nombre
String apellidoPaterno
String apellidoMaterno
int edad

static constraints = {
}
}

Creamos un controller Persona

grails create-controller org.dracof.Persona

Después de creado el controller PersonaController ubicado en ../claseDominio/grails-app/controllers/org/dracof/ lo modificamos y añadimos la linea def scaffold = org.dracof.Persona quedando

package org.dracof

class PersonaController {
def scaffold = org.dracof.Persona
}

y arrancamos nuestra aplicacion

grails run-app

Entramos desde un navegador con

http://localhost:8080/claseDominio/



Oprimimos en

org.dracof.PersonaController

y nos muestra la lista de personas



Creamos una nueva persona en New Persona y aparece los campos de nuestra clase de dominio



Llenamos los campos y oprimimos Create, nos muestra el registro recien creado listo par ser borrado o editado



Dentro de Persona List nos muestra la lista de personas creadas



Seleccionamos el Id de la persona y oprimimos delete, nos pregunta si estamos seguros de borrar



Aceptamos y el registro es borrado, tenemos tambien la opcion Edit con la que podemos editar por completo nuestro registro.

Cabe mencionar que nuestros formularios no contienen ningun tipo de validación, por lo que los campos pueden insertarse sin valores y los acepta.

Simple no?

Suerte.

jueves, 20 de agosto de 2009

Primer Controller en Grails

Creamos un proyecto grails con el comando grails create-app como sigue

grails create-app test

dando paso a la creación de archivos y directorios de grails

C:\proyGrails: grails create-app test
Welcome to Grails 1.2-M2 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: C:\Software\grails-1.2-M2

Base Directory: C:\proyGrails
Running script C:\Software\grails-1.2-M2\scripts\CreateApp_.groovy
Environment set to development
Application name not specified. Please enter:
test
[mkdir] Created dir: C:\proyGrails\test\src
[mkdir] Created dir: C:\proyGrails\test\src\java
[mkdir] Created dir: C:\proyGrails\test\src\groovy
[mkdir] Created dir: C:\proyGrails\test\grails-app
[mkdir] Created dir: C:\proyGrails\test\grails-app\controllers
[mkdir] Created dir: C:\proyGrails\test\grails-app\services
[mkdir] Created dir: C:\proyGrails\test\grails-app\domain
[mkdir] Created dir: C:\proyGrails\test\grails-app\taglib
[mkdir] Created dir: C:\proyGrails\test\grails-app\utils
[mkdir] Created dir: C:\proyGrails\test\grails-app\views
[mkdir] Created dir: C:\proyGrails\test\grails-app\views\layouts
[mkdir] Created dir: C:\proyGrails\test\grails-app\i18n
[mkdir] Created dir: C:\proyGrails\test\grails-app\conf
[mkdir] Created dir: C:\proyGrails\test\test
[mkdir] Created dir: C:\proyGrails\test\test\unit
[mkdir] Created dir: C:\proyGrails\test\test\integration
[mkdir] Created dir: C:\proyGrails\test\scripts
[mkdir] Created dir: C:\proyGrails\test\web-app
[mkdir] Created dir: C:\proyGrails\test\web-app\js
[mkdir] Created dir: C:\proyGrails\test\web-app\css
[mkdir] Created dir: C:\proyGrails\test\web-app\images
[mkdir] Created dir: C:\proyGrails\test\web-app\META-INF
[mkdir] Created dir: C:\proyGrails\test\lib
[mkdir] Created dir: C:\proyGrails\test\grails-app\conf\spring
[mkdir] Created dir: C:\proyGrails\test\grails-app\conf\hibernate
[propertyfile] Creating new property file: C:\proyGrails\test\application.properties
[copy] Copying 1 resource to C:\proyGrails\test
[unjar] Expanding: C:\proyGrails\test\grails-shared-files.jar into C:\proyGrails\test
[delete] Deleting: C:\proyGrails\test\grails-shared-files.jar
[copy] Copying 1 resource to C:\proyGrails\test
[unjar] Expanding: C:\proyGrails\test\grails-app-files.jar into C:\proyGrails\test
[delete] Deleting: C:\proyGrails\test\grails-app-files.jar
[move] Moving 1 file to C:\proyGrails\test
[move] Moving 1 file to C:\proyGrails\test
[move] Moving 1 file to C:\proyGrails\test
[move] Moving 1 file to C:\proyGrails\test
[move] Moving 1 file to C:\proyGrails\test
[move] Moving 1 file to C:\proyGrails\test
...
Found events script in plugin tomcat
Created Grails Application at C:\proyGrails/test

Después nos posicionamos dentro del proyecto recien creado

C:\proyGrails: cd test

Ahora iniciamos nuestra aplicación con el siguiente comando de grails run-app

C:\proyGrails\test: grails run-app
Welcome to Grails 1.2-M2 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: C:\Software\grails-1.2-M2

Base Directory: C:\proyGrails\test
Running script C:\Software\grails-1.2-M2\scripts\RunApp.groovy
Environment set to development
Running Grails application..
18/08/2009 04:52:43 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
18/08/2009 04:52:43 PM org.apache.catalina.core.StandardService start
INFO: Starting service Tomcat
18/08/2009 04:52:43 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0-snapshot
18/08/2009 04:52:43 PM org.apache.catalina.startup.ContextConfig defaultWebConfig
INFO: No default web.xml
18/08/2009 04:52:45 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Server running. Browse to http://localhost:8080/test

Con esto nuestra aplicación esta corriendo



Por default corre en el puerto 8080 si deseamos cambiarla por ejemplo al puerto 8181 escribimos

grails -Dserver.port 8181 run-app

Si se quiere cambiar el puerto de la aplicación de forma permanente se puede crear el archvo BuildConfig.groovy con la entrada

grails.server.port.http=9090 en la ruta %proyecto%\grails-app\conf

Ahora para crear un controller escribimos el siguiente comando dentro del proyecto

grails create-controller contr

Vemos que el comando se ejecuta de manera exitosa

C:\proyGrails\test>grails create-controller contr
Welcome to Grails 1.2-M2 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: C:\Software\grails-1.2-M2

Base Directory: C:\proyGrails\test
Running script C:\Software\grails-1.2-M2\scripts\CreateController.groovy
Environment set to development
Created Controller for Contr
[mkdir] Created dir: C:\proyGrails\test\grails-app\views\contr
Created Tests for Contr
C:\proyGrails\test>

Ahora solo refrescamos el navegador (Ctrl.+F5) y vemos el controller recien creado



Este es creado (como lo dice cuando se ejecuta el comando create-controller) en la ruta C:\proyGrails\test\grails-app\views\contr con el nombre de ContrController.groovy, como vemos grails crea el controller con la primera letra mayúscula y concatenandole Controller, lo editamos y escribimos lo siguiente

class ContrController {
def index = {
redirect (action:accion)
}

def accion = {
render "Desde controller ControlerController";
}
}

Para llamar accion escribimos en el navegador

http://localhost:8181/test/contr/accion
o
http://localhost:8181/test/contr/ (por default toma index y este es redireccionado a accion).



Suerte.

domingo, 9 de agosto de 2009

Instalando Grails en Windows

A continuacion se muestra como instalar Grails en Windows.

Descargar el archivo grails-bin-1.2-M1.zip

Descomprimirlo, en mi caso C:\Software\grails-1.2-M1

Crear la variable de entorno GRAILS_HOME en mi casi apuntanto a C:\Software\grails-1.2-M1.

Escribir en PATH la ruta C:\Software\grails-1.2-M1\bin

Abrir una ventana MSDOS y escribir el comando grails help

grails help
Invalid maximum heap size: -Xmx512m -XX:MaxPermSize=96m
Could not create the Java virtual machine.

En mi caso me marco el error anterior, la solucion es editar el archivo startGrails.bat ubicado en GRAILS_HOME\bin

C:\Software\grails-1.2-M1\bin\startGrails.bat

...
set JAVA_EXE=%JAVA_HOME%\bin\java.exe
set TOOLS_JAR=%JAVA_HOME%\lib\tools.jar

if "%JAVA_OPTS%" == "" set JAVA_OPTS=-Xmx512m -XX:MaxPermSize=96m
set JAVA_OPTS=%JAVA_OPTS% -Dprogram.name="%PROGNAME%"
set JAVA_OPTS=%JAVA_OPTS% -Dgrails.home="%GRAILS_HOME%"
...

modificar la linea
if "%JAVA_OPTS%" == "" set JAVA_OPTS="-Xmx512m -XX:MaxPermSize=96m"
por
if "%JAVA_OPTS%" == "" set JAVA_OPTS=-Xmx512m -XX:MaxPermSize=96m

Quitando las dobles comillas de "-Xmx512m -XX:MaxPermSize=96m"

probamos nuevamente desde una consola msdos con el siguiente comando


grails help

Welcome to Grails 1.2-M1 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: C:\Software\grails-1.2-M1

Suerte.

domingo, 2 de agosto de 2009

Instalando Grails

Descargamos el archivo grails-bin-1.2-M1.tar.gz

Lo desempaquetamos

tar -xvf grails-bin-1.2-M1.tar.gz

Establecemos la variable de entorno

export JAVA_HOME=/usr/java

Nos establecemos dentro del directorio bin de grails, en mi caso

cd /opt/grails-1.2-M1/bin

Ejecutamos el siguiente comando de grails

sh grails help

Obteniendo la salida

Welcome to Grails 1.2-M1 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: /opt/grails-1.2-M1

Se puede establecer las variables JAVA_HOME y GROOVY_HOME de forma permanenete al igual que escribir en PATH la ruta /opt/grails-1.2-M1/bin

Suerte.