Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
20Activity
0 of .
Results for:
No results containing your search query
P. 1
Grails: Framework para el desarrollo de aplicaciones Web No 2

Grails: Framework para el desarrollo de aplicaciones Web No 2

Ratings: (0)|Views: 755 |Likes:
Grails: Framework
para el desarrollo de
aplicaciones Web
Grails: Framework
para el desarrollo de
aplicaciones Web

More info:

Published by: Esteban Saavedra López on May 06, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/05/2013

pdf

text

original

 
Grails: Frameworkpara el desarrollo deaplicaciones Web
(2da Parte)
 
Grails es un framework orientado al desarrollo de aplicaciones web de forma sencilla,rápida y divertida.
En la primera parte del artículo, se vio lacreación de la aplicación y la generación descaffoldings dimicos, en ésta segundaentrega veremos la generación delscaffolding estático, las validaciones en losformularios, personalizaciones de mensajes ylas personalizaciones de vistas.
Scaffolding estático
La diferencia entre un scaffolding dinámico yun scaffolding estático, radica que el primerogenera el código necesario de la aplicaciónen tiempo de ejecucn, mientras que elsegundo genera el digo antes de laejecución de la aplicación, permitiéndonos deesta forma realizar personalizaciones en elcódigo de nuestra aplicación.
Generación de scaffoldingestático
La generación de scaffold puede incluir todoslos componentes (vistas y controladores) osolo los componentes necesarios ya seanvistas o controladores.Para la generación de los scaffold estáticosdebemos hacer uso de la instrucción
grailsgenerate-all
, tal como muestra la figura:
Gráfico 1
: Generación de scaffolding estático
 
Esta generación se debe realizar de forma análoga para los demás dominios, en nuestro casopara Expositor y para Conferencia.Dentro del directorio
GestionEventos/grails-app/controllers
y
GestionEventos/grails-app/views
, se encuentra el código generado para los controladoresy las vistas respectivamente.
Gráfico 2
: Controladores generados
Gráfico 3
: Vistas generadas
Conexión a una base de datos
Todos deseamos que nuestras aplicaciones web se conecten en algún momento a una base dedatos (MySQL, PostgreSQL, etc), para ésto precisamos realizar lo siguiente:
Incluir el controlador JDBC correspondiente a la base de datos en el directorio
GestionEventos/lib
; para nuestro caso haremos uso del controlado
 mysql-connector-java-5.1.5-bin.jar
, que nos permitirá establecer la conexión a una basede datos mySQL.
Modificar las cadenas de conexión (base de datos, usuario, driver, etc) en el fichero
GestionEventos/grails-app/conf/DataSource.grovy
.
 
Un ejemplo de este archivo es el siguiente:
dataSource {pooled = truedriverClassName = "com.mysql.jdbc.Driver"username = "usuario"password = "clave"}hibernate {cache.use_second_level_cache=truecache.use_query_cache=truecache.provider_class='com.opensymphony.oscache.hibernate.OSCacheProvider'}// environment specific settingsenvironments {development {dataSource {dbCreate = "update" // one of 'create', 'create-drop','update'url = "jdbc:mysql://localhost:3306/eventos"}}test {dataSource {dbCreate = "update"url = "jdbc:mysql://localhost:3306/eventos"}}production {dataSource {dbCreate = "update"url = "jdbc:mysql://localhost:3306/eventos"}}}
Una vez realizada las adecuación del archivo que permite la conexión a la base de datos,debemos proceder a crear la base de datos y sus respectivas tablas, para esto podemos hacer uso de cualquier manejador de mySQL.
Validación de formularios
Una de las tareas importantes al momento de realizar un formulario web, es la validación de loscampos; dentro del framework Grails, ésta es conocida como
constrains
, y deben seconsideradas dentro de los archivos de cada dominio. Un ejemplo de
constrains
es elsiguiente:
class Expositor {String paternoString maternoString nombreString nacionalidadString emailstatic hasMany = [conferencias:Conferencia] static constraints={paterno (blank:false,size:1..25)materno (blank:false,size:1..25)nombre (blank:false,size:1..25)

Activity (20)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
yamile83 liked this
ccassuni3762 liked this
rikoton liked this
pimc2 liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->