SlideShare a Scribd company logo
1 of 5
Grails: Framework
para el desarrollo de
aplicaciones Web (6ta Parte)
Grails es un framework orientado al desarrollo de aplicaciones web de forma sencilla,
rápida y divertida.
                                                   Paginación
                                                   Cuando uno está desarrollando sitios y/o
                                                   aplicaciones web, generalmente se nos
                                                   presentan listados bastante largos, presentar
                                                   todo el listado al mismo tiempo representa
                                                   lentitud, dificultad al apreciar el listado, etc; lo
                                                   recomendable en estas circunstancias es
                                                   poder establecer el número de filas que
                                                   serán mostradas en cada página, ésto es
En esta última entrega del tutorial de             posible gracias a la paginación.
desarrollo de aplicaciones web con el              En Grails existen varias alternativas, algunas
framework     Grails,  veremos   temas             de ellas ya incluidas por defecto y algunas
importantes como son:                              incluidas mediante plugins. En este caso
   ✔     Paginación                                mostraremos la paginación que viene incluida
                                                   por defecto y puede ser personalizada
   ✔     Búsquedas                                 mediante el manejo de parámetros del tag
   ✔     Manejo de Feeds                           desarrollado para este efecto (Tag – paginate
                                                   ), éste dispone de los siguientes parámetros:
   ✔     Despliegue


       Total        El número total de resultados de la página.
       Action       El nombre de la acción que usa el link
       Controller   El nombre del controlador que usa el link
       Id           El Id que usa el link
       Params       El mapa que contiene los parámetros solicitados
       Prev         El texto a desplegar en el link “Previous”
       Next         El texto a desplegar en el link “Next”
       Max          El número máximo de registros a desplegar
       Maxsteps     El número de pasos a desplegar para la paginación
       Offset       El desplazamiento en cada paso de la paginación

Un ejemplo de utilización es el siguiente:
<g:paginate next="Proximo" prev="Siguiente" max="5" controller="Expositor"
action="list" total="${Expositor.count()}" />


Este código debe ser incluido en la vista de Expositor, el resultado obtenido lo apreciamos en la
imagen siguiente:
Búsquedas
Las búsquedas son un tema muy importante dentro de un sitio y/o aplicación web, en Grails
existen varias posibilidades de hacer procesos de búsqueda:
   ✔   Desarrollo de procesos de búsquedas propios: Consiste en realizar de forma
       artesanal un proceso de búsqueda para cada uno de los dominios de la aplicación; este
       proceso resulta un tanto complicado y laborioso ya que representa considerar varios
       elementos y posibilidades de ocurrencias, además de demorar un tiempo considerable
       en su desarrollo puede no incluir todas las bondades que se requieran. Éstos fueron
       utilizados en los desarrollos de hace un par de años atrás.
   ✔   Uso de Plugins: Este proceso es más simple y efectivo, la reutilización de código
       desarrollado específicamente para este fin permite tener a disposición un abanico de
       posibilidades por ejemplo: la personalización de búsquedas, la indexación de ciertos
       atributos del dominio, indexación automática (contempla todos los posibles cambios en
       los registros en la base de datos).
Dentro de nuestra aplicación haremos uso del pugin searchable, el cual debemos instalarlo
previamente mediante la instrucción:


grails install-plugin searchable


Una vez instalado, debemos incluir el siguiente código en las clases del dominio que deseamos
que participen del proceso de búsqueda:
static searchable = true
Ahora solo queda acceder a la URL http://localhost:8080/GestionEventos/searchable 
, cuyo resultado lo mostramos en la siguiente imagen.




Manejo de Feeds
Por lo general todos los sitios y aplicaciones web disponen de Feeds, éstos son utilizados para
realizar la sindicación de los mismos.
Dentro de Grails, para el manejo de Feeds, disponemos de un plugin que permite su uso rápido
y sencillo.
Para hacer uso de este plugin, debemos primero instalarlo de la forma siguiente:


grails install-plugin feeds


una vez instalado, debemos incluir en el controlador Evento, el siguiente código:
def feed = {
     render(feedType:"rss", feedVersion:"2.0")
     {
       title = "Feeds de Eventos"
          link = "http://localhost:8080/GestionEventos/Evento/feed"
          description = "Descripcion del feed"
          Evento.list().each()
          {
          evento -> entry(evento.nombre)
              {
              link = "http://localhost:8080/GestionEventos/evento/show/${evento.id}"
              evento.ciudad
              }
          }
   }
}


El resultado obtenido al ejecutar la aplicación será el siguiente:
Despliegue
Uno de los pasos finales dentro de nuestro tutorial, es el despliegue, que básicamente consiste
en la posibilidad de empaquetar nuestra aplicación en un archivo .war, mediante la siguiente
instrucción:


grails war


Una vez empaquetado este puede ser deployado en cualquier servidor de aplicaciones con
soporte java, para efectos de prueba podemos deployarlo en un servidor tomcat.


Referencias
[1]    http://www.grails.org
[2]    Getting Started with Grails
[3]    The Definitive Guide to Grails


Autor




Esteban Saavedra López
Presidente de la Fundación AtixLibre (Bolivia)
Activista de Software Libre en Bolivia
jesaavedra@opentelematics.org
esteban.saavedra@atixlibre.org
http://jesaavedra.opentelematics.org
http://www.atixlibre.org

More Related Content

What's hot

Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Facescok12v
 
Responsive Web Design (Diseño Web Adaptable)
Responsive Web Design (Diseño Web Adaptable)Responsive Web Design (Diseño Web Adaptable)
Responsive Web Design (Diseño Web Adaptable)Adolfo Sanz De Diego
 
Sesiones y cookies en php
Sesiones y cookies en phpSesiones y cookies en php
Sesiones y cookies en phpRobert Moreira
 
Aprender a programar aplicaciones moviles
Aprender a programar aplicaciones movilesAprender a programar aplicaciones moviles
Aprender a programar aplicaciones movilesRobert Moreira
 
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...JaenFrankcezco
 
Introducción a Knockout
Introducción a KnockoutIntroducción a Knockout
Introducción a KnockoutOscar Gensollen
 
Joomla! en 10 minutos - JoomlaDay Sevilla 2015
Joomla! en 10 minutos  - JoomlaDay Sevilla 2015Joomla! en 10 minutos  - JoomlaDay Sevilla 2015
Joomla! en 10 minutos - JoomlaDay Sevilla 2015Carlos M. Cámara
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010Omar Rios
 
09b jsf (1)
09b jsf (1)09b jsf (1)
09b jsf (1)UTN
 

What's hot (20)

Jquery Hmvc
Jquery HmvcJquery Hmvc
Jquery Hmvc
 
Rails intro
Rails introRails intro
Rails intro
 
Semana 1 Introducción al Ciclo del Software
Semana 1   Introducción al Ciclo del SoftwareSemana 1   Introducción al Ciclo del Software
Semana 1 Introducción al Ciclo del Software
 
Semana 5 Angular Rutas y Controladores
Semana 5   Angular Rutas y ControladoresSemana 5   Angular Rutas y Controladores
Semana 5 Angular Rutas y Controladores
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
Herramientas de trabajo (3)
Herramientas de trabajo (3)Herramientas de trabajo (3)
Herramientas de trabajo (3)
 
Responsive Web Design (Diseño Web Adaptable)
Responsive Web Design (Diseño Web Adaptable)Responsive Web Design (Diseño Web Adaptable)
Responsive Web Design (Diseño Web Adaptable)
 
Java server faces
Java server facesJava server faces
Java server faces
 
patron de diseño MVVMo.pptx
patron de diseño MVVMo.pptxpatron de diseño MVVMo.pptx
patron de diseño MVVMo.pptx
 
Sesiones y cookies en php
Sesiones y cookies en phpSesiones y cookies en php
Sesiones y cookies en php
 
Aprender a programar aplicaciones moviles
Aprender a programar aplicaciones movilesAprender a programar aplicaciones moviles
Aprender a programar aplicaciones moviles
 
Presentacion wpf
Presentacion wpfPresentacion wpf
Presentacion wpf
 
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
 
06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 
Introducción a Knockout
Introducción a KnockoutIntroducción a Knockout
Introducción a Knockout
 
Joomla! en 10 minutos - JoomlaDay Sevilla 2015
Joomla! en 10 minutos  - JoomlaDay Sevilla 2015Joomla! en 10 minutos  - JoomlaDay Sevilla 2015
Joomla! en 10 minutos - JoomlaDay Sevilla 2015
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
 
09b jsf (1)
09b jsf (1)09b jsf (1)
09b jsf (1)
 
Curso JSF - Conceptos Basicos
Curso JSF - Conceptos BasicosCurso JSF - Conceptos Basicos
Curso JSF - Conceptos Basicos
 
Mvc
MvcMvc
Mvc
 

Viewers also liked

Analisis 2009
Analisis 2009Analisis 2009
Analisis 2009usapuka
 
Kultur & Beteiligung - Publikumsentwicklung
Kultur & Beteiligung - PublikumsentwicklungKultur & Beteiligung - Publikumsentwicklung
Kultur & Beteiligung - Publikumsentwicklungdavidroethler
 
Von einer, die auszog, in der Cloud zu arbeiten
Von einer, die auszog, in der Cloud zu arbeitenVon einer, die auszog, in der Cloud zu arbeiten
Von einer, die auszog, in der Cloud zu arbeitenUniversity St. Gallen
 
Presentación del curso Léxico en lengua inglesa para ByD (nivel 2)
Presentación del curso Léxico en lengua inglesa para ByD (nivel 2)Presentación del curso Léxico en lengua inglesa para ByD (nivel 2)
Presentación del curso Léxico en lengua inglesa para ByD (nivel 2)Nicolas Robinson-Garcia
 
Bankbarometer08_Kurzfassung
Bankbarometer08_KurzfassungBankbarometer08_Kurzfassung
Bankbarometer08_Kurzfassungemotion banking
 
Esquema basico de sesion em mis u as_2012
Esquema basico de sesion em mis u as_2012Esquema basico de sesion em mis u as_2012
Esquema basico de sesion em mis u as_2012Prepa Cihuatlan
 
Videobasiertes E Learning Prof. Dr. A. Back Nov2009
Videobasiertes E Learning Prof. Dr. A. Back Nov2009Videobasiertes E Learning Prof. Dr. A. Back Nov2009
Videobasiertes E Learning Prof. Dr. A. Back Nov2009University St. Gallen
 
América economía, El diseño de un nuevo ecosistema sociocultural
América economía, El diseño de un nuevo ecosistema socioculturalAmérica economía, El diseño de un nuevo ecosistema sociocultural
América economía, El diseño de un nuevo ecosistema socioculturalAlex Chipana
 
Beispiele für innovative Konzepte
Beispiele für innovative KonzepteBeispiele für innovative Konzepte
Beispiele für innovative KonzepteMatthias Rückel
 
Florida epic informacion del curso cisco ccna 5 2015
Florida epic informacion del curso cisco ccna 5 2015Florida epic informacion del curso cisco ccna 5 2015
Florida epic informacion del curso cisco ccna 5 2015Jose Ortolá
 
5.Libros electrónicos EEBO Curso Léxico en inglés en ByD
5.Libros electrónicos EEBO Curso Léxico en inglés en ByD5.Libros electrónicos EEBO Curso Léxico en inglés en ByD
5.Libros electrónicos EEBO Curso Léxico en inglés en ByDNicolas Robinson-Garcia
 
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012Christof Rodejohann
 
Umsatzstarke Hotels Deutschland
Umsatzstarke Hotels DeutschlandUmsatzstarke Hotels Deutschland
Umsatzstarke Hotels DeutschlandMOONDA
 
Bankbarometer09_Kurzfassung
Bankbarometer09_KurzfassungBankbarometer09_Kurzfassung
Bankbarometer09_Kurzfassungemotion banking
 
EinfüHrung In Das Medienrecht 2009 Internet
EinfüHrung In Das Medienrecht 2009 InternetEinfüHrung In Das Medienrecht 2009 Internet
EinfüHrung In Das Medienrecht 2009 Internetdavidroethler
 

Viewers also liked (20)

Analisis 2009
Analisis 2009Analisis 2009
Analisis 2009
 
Kultur & Beteiligung - Publikumsentwicklung
Kultur & Beteiligung - PublikumsentwicklungKultur & Beteiligung - Publikumsentwicklung
Kultur & Beteiligung - Publikumsentwicklung
 
Von einer, die auszog, in der Cloud zu arbeiten
Von einer, die auszog, in der Cloud zu arbeitenVon einer, die auszog, in der Cloud zu arbeiten
Von einer, die auszog, in der Cloud zu arbeiten
 
Presentación del curso Léxico en lengua inglesa para ByD (nivel 2)
Presentación del curso Léxico en lengua inglesa para ByD (nivel 2)Presentación del curso Léxico en lengua inglesa para ByD (nivel 2)
Presentación del curso Léxico en lengua inglesa para ByD (nivel 2)
 
AB III: Arbeit in der Fokusgruppe 2011-07-12
AB III: Arbeit in der Fokusgruppe 2011-07-12AB III: Arbeit in der Fokusgruppe 2011-07-12
AB III: Arbeit in der Fokusgruppe 2011-07-12
 
Bankbarometer08_Kurzfassung
Bankbarometer08_KurzfassungBankbarometer08_Kurzfassung
Bankbarometer08_Kurzfassung
 
Esquema basico de sesion em mis u as_2012
Esquema basico de sesion em mis u as_2012Esquema basico de sesion em mis u as_2012
Esquema basico de sesion em mis u as_2012
 
Decaleg cassany
Decaleg cassanyDecaleg cassany
Decaleg cassany
 
Videobasiertes E Learning Prof. Dr. A. Back Nov2009
Videobasiertes E Learning Prof. Dr. A. Back Nov2009Videobasiertes E Learning Prof. Dr. A. Back Nov2009
Videobasiertes E Learning Prof. Dr. A. Back Nov2009
 
América economía, El diseño de un nuevo ecosistema sociocultural
América economía, El diseño de un nuevo ecosistema socioculturalAmérica economía, El diseño de un nuevo ecosistema sociocultural
América economía, El diseño de un nuevo ecosistema sociocultural
 
Beispiele für innovative Konzepte
Beispiele für innovative KonzepteBeispiele für innovative Konzepte
Beispiele für innovative Konzepte
 
La Gomera 2014
La Gomera 2014La Gomera 2014
La Gomera 2014
 
Curso de Gestión Ágil de Proyectos de Software
Curso de Gestión Ágil de Proyectos de SoftwareCurso de Gestión Ágil de Proyectos de Software
Curso de Gestión Ágil de Proyectos de Software
 
Florida epic informacion del curso cisco ccna 5 2015
Florida epic informacion del curso cisco ccna 5 2015Florida epic informacion del curso cisco ccna 5 2015
Florida epic informacion del curso cisco ccna 5 2015
 
Curso de Planificación de Proyectos de Software
Curso de Planificación de Proyectos de SoftwareCurso de Planificación de Proyectos de Software
Curso de Planificación de Proyectos de Software
 
5.Libros electrónicos EEBO Curso Léxico en inglés en ByD
5.Libros electrónicos EEBO Curso Léxico en inglés en ByD5.Libros electrónicos EEBO Curso Léxico en inglés en ByD
5.Libros electrónicos EEBO Curso Léxico en inglés en ByD
 
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
 
Umsatzstarke Hotels Deutschland
Umsatzstarke Hotels DeutschlandUmsatzstarke Hotels Deutschland
Umsatzstarke Hotels Deutschland
 
Bankbarometer09_Kurzfassung
Bankbarometer09_KurzfassungBankbarometer09_Kurzfassung
Bankbarometer09_Kurzfassung
 
EinfüHrung In Das Medienrecht 2009 Internet
EinfüHrung In Das Medienrecht 2009 InternetEinfüHrung In Das Medienrecht 2009 Internet
EinfüHrung In Das Medienrecht 2009 Internet
 

Similar to Grails: Framework para el desarrollo de aplicaciones Web No 6

Similar to Grails: Framework para el desarrollo de aplicaciones Web No 6 (20)

Atix13
Atix13Atix13
Atix13
 
Atix13
Atix13Atix13
Atix13
 
ATIX13
ATIX13ATIX13
ATIX13
 
Atix20
Atix20Atix20
Atix20
 
Introducción al desarrollo de Google Mapplets
Introducción al desarrollo de Google MappletsIntroducción al desarrollo de Google Mapplets
Introducción al desarrollo de Google Mapplets
 
Template paper-2015
Template paper-2015Template paper-2015
Template paper-2015
 
Taller de zan php
Taller de zan phpTaller de zan php
Taller de zan php
 
UDA-Desarrollo RUP. Consejos y buenas prácticas
UDA-Desarrollo RUP. Consejos y buenas prácticasUDA-Desarrollo RUP. Consejos y buenas prácticas
UDA-Desarrollo RUP. Consejos y buenas prácticas
 
Tutorial hacer un crud con prado
Tutorial hacer un crud con pradoTutorial hacer un crud con prado
Tutorial hacer un crud con prado
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring Insight
 
Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2
 
Catalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebCatalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones Web
 
Welcome to Django
Welcome to DjangoWelcome to Django
Welcome to Django
 
ATIX20
ATIX20ATIX20
ATIX20
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
 
Manual de instalación
Manual de instalación Manual de instalación
Manual de instalación
 
Diseño web
Diseño webDiseño web
Diseño web
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Diseño web
Diseño webDiseño web
Diseño web
 

More from Esteban Saavedra (20)

Atix30
Atix30Atix30
Atix30
 
Atix29
Atix29Atix29
Atix29
 
Atix28
Atix28Atix28
Atix28
 
Atix27
Atix27Atix27
Atix27
 
Atix26
Atix26Atix26
Atix26
 
Atix25
Atix25Atix25
Atix25
 
Rabbitmq
RabbitmqRabbitmq
Rabbitmq
 
Ansible
AnsibleAnsible
Ansible
 
Perl
PerlPerl
Perl
 
Atix24
Atix24Atix24
Atix24
 
Atix23
Atix23Atix23
Atix23
 
Lineas Base Migracion a Software Libre
Lineas Base Migracion a Software LibreLineas Base Migracion a Software Libre
Lineas Base Migracion a Software Libre
 
Seguridad Sistemas de Gobierno
Seguridad Sistemas de GobiernoSeguridad Sistemas de Gobierno
Seguridad Sistemas de Gobierno
 
Tunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y FirewallsTunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y Firewalls
 
Bi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar EmpresasBi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar Empresas
 
Clouds privadas
Clouds privadasClouds privadas
Clouds privadas
 
Introduccion Computacion Ubicua
Introduccion Computacion UbicuaIntroduccion Computacion Ubicua
Introduccion Computacion Ubicua
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Avances Tecnologicos
Avances TecnologicosAvances Tecnologicos
Avances Tecnologicos
 
Dni Electronico Bolivia
Dni Electronico BoliviaDni Electronico Bolivia
Dni Electronico Bolivia
 

Recently uploaded

Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 

Recently uploaded (20)

Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 

Grails: Framework para el desarrollo de aplicaciones Web No 6

  • 1. Grails: Framework para el desarrollo de aplicaciones Web (6ta Parte) Grails es un framework orientado al desarrollo de aplicaciones web de forma sencilla, rápida y divertida. Paginación Cuando uno está desarrollando sitios y/o aplicaciones web, generalmente se nos presentan listados bastante largos, presentar todo el listado al mismo tiempo representa lentitud, dificultad al apreciar el listado, etc; lo recomendable en estas circunstancias es poder establecer el número de filas que serán mostradas en cada página, ésto es En esta última entrega del tutorial de posible gracias a la paginación. desarrollo de aplicaciones web con el En Grails existen varias alternativas, algunas framework Grails, veremos temas de ellas ya incluidas por defecto y algunas importantes como son: incluidas mediante plugins. En este caso ✔ Paginación mostraremos la paginación que viene incluida por defecto y puede ser personalizada ✔ Búsquedas mediante el manejo de parámetros del tag ✔ Manejo de Feeds desarrollado para este efecto (Tag – paginate ), éste dispone de los siguientes parámetros: ✔ Despliegue Total El número total de resultados de la página. Action El nombre de la acción que usa el link Controller El nombre del controlador que usa el link Id El Id que usa el link Params El mapa que contiene los parámetros solicitados Prev El texto a desplegar en el link “Previous” Next El texto a desplegar en el link “Next” Max El número máximo de registros a desplegar Maxsteps El número de pasos a desplegar para la paginación Offset El desplazamiento en cada paso de la paginación Un ejemplo de utilización es el siguiente: <g:paginate next="Proximo" prev="Siguiente" max="5" controller="Expositor" action="list" total="${Expositor.count()}" /> Este código debe ser incluido en la vista de Expositor, el resultado obtenido lo apreciamos en la imagen siguiente:
  • 2. Búsquedas Las búsquedas son un tema muy importante dentro de un sitio y/o aplicación web, en Grails existen varias posibilidades de hacer procesos de búsqueda: ✔ Desarrollo de procesos de búsquedas propios: Consiste en realizar de forma artesanal un proceso de búsqueda para cada uno de los dominios de la aplicación; este proceso resulta un tanto complicado y laborioso ya que representa considerar varios elementos y posibilidades de ocurrencias, además de demorar un tiempo considerable en su desarrollo puede no incluir todas las bondades que se requieran. Éstos fueron utilizados en los desarrollos de hace un par de años atrás. ✔ Uso de Plugins: Este proceso es más simple y efectivo, la reutilización de código desarrollado específicamente para este fin permite tener a disposición un abanico de posibilidades por ejemplo: la personalización de búsquedas, la indexación de ciertos atributos del dominio, indexación automática (contempla todos los posibles cambios en los registros en la base de datos). Dentro de nuestra aplicación haremos uso del pugin searchable, el cual debemos instalarlo previamente mediante la instrucción: grails install-plugin searchable Una vez instalado, debemos incluir el siguiente código en las clases del dominio que deseamos que participen del proceso de búsqueda: static searchable = true
  • 3. Ahora solo queda acceder a la URL http://localhost:8080/GestionEventos/searchable  , cuyo resultado lo mostramos en la siguiente imagen. Manejo de Feeds Por lo general todos los sitios y aplicaciones web disponen de Feeds, éstos son utilizados para realizar la sindicación de los mismos. Dentro de Grails, para el manejo de Feeds, disponemos de un plugin que permite su uso rápido y sencillo. Para hacer uso de este plugin, debemos primero instalarlo de la forma siguiente: grails install-plugin feeds una vez instalado, debemos incluir en el controlador Evento, el siguiente código:
  • 4. def feed = { render(feedType:"rss", feedVersion:"2.0") { title = "Feeds de Eventos" link = "http://localhost:8080/GestionEventos/Evento/feed" description = "Descripcion del feed" Evento.list().each() { evento -> entry(evento.nombre) { link = "http://localhost:8080/GestionEventos/evento/show/${evento.id}" evento.ciudad } } } } El resultado obtenido al ejecutar la aplicación será el siguiente:
  • 5. Despliegue Uno de los pasos finales dentro de nuestro tutorial, es el despliegue, que básicamente consiste en la posibilidad de empaquetar nuestra aplicación en un archivo .war, mediante la siguiente instrucción: grails war Una vez empaquetado este puede ser deployado en cualquier servidor de aplicaciones con soporte java, para efectos de prueba podemos deployarlo en un servidor tomcat. Referencias [1] http://www.grails.org [2] Getting Started with Grails [3] The Definitive Guide to Grails Autor Esteban Saavedra López Presidente de la Fundación AtixLibre (Bolivia) Activista de Software Libre en Bolivia jesaavedra@opentelematics.org esteban.saavedra@atixlibre.org http://jesaavedra.opentelematics.org http://www.atixlibre.org