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.

No hay comentarios:

Publicar un comentario