SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie Grails: Framework para el desarrollo de aplicaciones Web No 6

Ähnlich wie 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
 

Mehr von 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
 

Kürzlich hochgeladen

CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
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
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 

Kürzlich hochgeladen (20)

CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
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
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 

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