SlideShare una empresa de Scribd logo
1 de 11
Curso de Struts 2
Unidad Didáctica 04
Formularios
David Vaquero
Objetivos
Saber cómo implementar la gestión
de los formularios en struts2
Índice de
contenidos
Introducción
Configuración de la acción
La Clase de Modelo de Datos
La Clase de la Acción
El formulario en el jsp
Etiqueta <s:form/>
Validación del formulario
Introducción
Struts permite una gestión unificada de los
formularios
Tiene distintos métodos dependiendo del
estado del formulario
input: método de ida al formulario para
que el usuario lo rellene
success: cuando el formulario se haya
enviado correctamente
Configuración de
la Acción
struts.xml
<action name="register"
class="es.consultec.pepesan.Register"
method="execute">
<result name="success">/thankyou.jsp</
result>
<result name="input">/register.jsp</result>
</action>
La clase del
Modelo de datos
Sería una clase normal con la salvedad del
implements Serializable
Debe tener ser un JavaBean
constructor sin parámetros
getters y setters por defecto para las
propiedades
toString para ayudar con el Debug
La clase de la
Acción
Como siempre hereda de
ActionSupport
Define una propiedad del modelo de
datos con sus getter y setter
Dispone de un execute como siempre
que devuelve SUCCESS en el caso de
que haya ido correcto
El formulario en
el JSP
registro.jsp
<s:form action="register">
<s:textfield name="personBean.firstName" label="First name" />
<s:textfield name="personBean.lastName" label="Last name" />
<s:textfield name="personBean.email" label ="Email"/>
<s:textfield name="personBean.age" label="Age" />
<s:submit/>
</s:form>
Etiqueta <s:form>
<s:select key=“propiedadString”
list="#{'01':'Jan', '02':'Feb', […]}"/>
<s:select key=“propiedadString”
list="propiedadListado"/>
Validación del
Formulario
La clase Acción debe implementar el método validare
Dentro comprobamos las propiedades del objeto
de datos
Sino valida deberemos llamar al método
addFieldError(“campo”,”Texto del error”);
Struts2 se encarga de la gestión de la validación de
manera automática
Si el formulario valida nos lleva directamente al
result SUCCESS sino lleva al input
Validación del
Formulario
Para que salgan las validaciones
con estilos CSS es necesario incluir
dentro de la etiqueta <head/> el tag
<s:head/>

Más contenido relacionado

La actualidad más candente

Presentacion tutorados
Presentacion tutoradosPresentacion tutorados
Presentacion tutorados
ferchocore
 
Conociendo la informatica Utilizando_variables
Conociendo la informatica Utilizando_variablesConociendo la informatica Utilizando_variables
Conociendo la informatica Utilizando_variables
evelyn_nunez
 

La actualidad más candente (19)

Dprn3 u3 a1_jupm
Dprn3 u3 a1_jupmDprn3 u3 a1_jupm
Dprn3 u3 a1_jupm
 
Crear vistas en microsoft access
Crear vistas en microsoft accessCrear vistas en microsoft access
Crear vistas en microsoft access
 
Java Server Pages (JSP)
Java Server Pages (JSP)Java Server Pages (JSP)
Java Server Pages (JSP)
 
Objetosimpliciosjsp
ObjetosimpliciosjspObjetosimpliciosjsp
Objetosimpliciosjsp
 
Statement
StatementStatement
Statement
 
Statement
StatementStatement
Statement
 
Clase
ClaseClase
Clase
 
Curso de Struts 2: Unidad Didáctica 01 El Entorno de Desarrollo
Curso de Struts 2: Unidad Didáctica 01 El Entorno de DesarrolloCurso de Struts 2: Unidad Didáctica 01 El Entorno de Desarrollo
Curso de Struts 2: Unidad Didáctica 01 El Entorno de Desarrollo
 
Presentacion tutorados
Presentacion tutoradosPresentacion tutorados
Presentacion tutorados
 
Jdbc (Java Database Connectivity)
Jdbc (Java Database Connectivity)Jdbc (Java Database Connectivity)
Jdbc (Java Database Connectivity)
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
 
JAVA SERVER FACES - LECCION 01 - PRIMEROS PASOS
JAVA SERVER FACES - LECCION 01 - PRIMEROS PASOSJAVA SERVER FACES - LECCION 01 - PRIMEROS PASOS
JAVA SERVER FACES - LECCION 01 - PRIMEROS PASOS
 
Connection
ConnectionConnection
Connection
 
Curso AngularJS - 4. filtros y servicios
Curso AngularJS - 4. filtros y serviciosCurso AngularJS - 4. filtros y servicios
Curso AngularJS - 4. filtros y servicios
 
Conceptos basicos en CakePHP
Conceptos basicos en CakePHPConceptos basicos en CakePHP
Conceptos basicos en CakePHP
 
Java Web Lección 02 - JSP
Java Web Lección 02 - JSPJava Web Lección 02 - JSP
Java Web Lección 02 - JSP
 
Curso AngularJS - 7. temas avanzados
Curso AngularJS - 7. temas avanzadosCurso AngularJS - 7. temas avanzados
Curso AngularJS - 7. temas avanzados
 
Ejemplo aplicacion web (estructura)
Ejemplo aplicacion web (estructura)Ejemplo aplicacion web (estructura)
Ejemplo aplicacion web (estructura)
 
Conociendo la informatica Utilizando_variables
Conociendo la informatica Utilizando_variablesConociendo la informatica Utilizando_variables
Conociendo la informatica Utilizando_variables
 

Similar a Curso de Struts 2: Unidad Didáctica 04 Formularios

Mcvs ad-04 diseño del sistema de información
Mcvs ad-04 diseño del sistema de informaciónMcvs ad-04 diseño del sistema de información
Mcvs ad-04 diseño del sistema de información
giancarlo Aguirre Campos
 
Practica utilizacion de beans en jsp
Practica  utilizacion de beans en jspPractica  utilizacion de beans en jsp
Practica utilizacion de beans en jsp
Boris Salleg
 

Similar a Curso de Struts 2: Unidad Didáctica 04 Formularios (20)

Struts2
Struts2Struts2
Struts2
 
Curso Java Avanzado 6 Struts
Curso Java Avanzado   6 StrutsCurso Java Avanzado   6 Struts
Curso Java Avanzado 6 Struts
 
Strust
StrustStrust
Strust
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-20065. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
 
1 -programacion_oo
1  -programacion_oo1  -programacion_oo
1 -programacion_oo
 
Mcvs ad-04 diseño del sistema de información
Mcvs ad-04 diseño del sistema de informaciónMcvs ad-04 diseño del sistema de información
Mcvs ad-04 diseño del sistema de información
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Diapositivas de n capas en visual net 2017
Diapositivas de n capas en visual net 2017Diapositivas de n capas en visual net 2017
Diapositivas de n capas en visual net 2017
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
10.desarrollowebconjava
10.desarrollowebconjava10.desarrollowebconjava
10.desarrollowebconjava
 
MyBatis como alternativa a Hibernate
MyBatis como alternativa a HibernateMyBatis como alternativa a Hibernate
MyBatis como alternativa a Hibernate
 
Practica utilizacion de beans en jsp
Practica  utilizacion de beans en jspPractica  utilizacion de beans en jsp
Practica utilizacion de beans en jsp
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
 
Clase servlet - Análisis de Sistemas
Clase servlet - Análisis de SistemasClase servlet - Análisis de Sistemas
Clase servlet - Análisis de Sistemas
 
MANUAL DEL SISTEMA (SOVIED)
MANUAL DEL SISTEMA (SOVIED)MANUAL DEL SISTEMA (SOVIED)
MANUAL DEL SISTEMA (SOVIED)
 
Practica9 bases de datos
Practica9 bases de datosPractica9 bases de datos
Practica9 bases de datos
 
Practica9 bases de datos
Practica9 bases de datosPractica9 bases de datos
Practica9 bases de datos
 
Texto Paralelo.pptx
Texto Paralelo.pptxTexto Paralelo.pptx
Texto Paralelo.pptx
 

Más de David Vaquero

Curso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de PlantillasCurso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
David Vaquero
 
Curso de Magento 1.9: Unidad Didáctica 06 Magento Connect
Curso de Magento 1.9: Unidad Didáctica 06 Magento ConnectCurso de Magento 1.9: Unidad Didáctica 06 Magento Connect
Curso de Magento 1.9: Unidad Didáctica 06 Magento Connect
David Vaquero
 

Más de David Vaquero (20)

Ionic2 01-introduccion
Ionic2 01-introduccionIonic2 01-introduccion
Ionic2 01-introduccion
 
Git 01-introduccion
Git 01-introduccionGit 01-introduccion
Git 01-introduccion
 
Curso Liferay 6.2: Unidad Didáctica 07 Colaboración
Curso Liferay 6.2: Unidad Didáctica 07 ColaboraciónCurso Liferay 6.2: Unidad Didáctica 07 Colaboración
Curso Liferay 6.2: Unidad Didáctica 07 Colaboración
 
Curso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 WorkflowCurso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 Workflow
 
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de DocumentosCurso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
 
Liferay 6.2: Unidad Didáctica 03 Administración básica
Liferay 6.2: Unidad Didáctica 03 Administración básicaLiferay 6.2: Unidad Didáctica 03 Administración básica
Liferay 6.2: Unidad Didáctica 03 Administración básica
 
Curso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio Web
Curso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio WebCurso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio Web
Curso de Liferay 6.2: Unidad didáctica 04 Gestión de un Sitio Web
 
Curso de Liferay 6.2: Unidad Didáctica 00 Introducción
Curso de Liferay 6.2: Unidad Didáctica 00 IntroducciónCurso de Liferay 6.2: Unidad Didáctica 00 Introducción
Curso de Liferay 6.2: Unidad Didáctica 00 Introducción
 
Curso de Liferay 6.2: Unidad didáctica 01 Instalación
Curso de Liferay 6.2: Unidad didáctica 01 InstalaciónCurso de Liferay 6.2: Unidad didáctica 01 Instalación
Curso de Liferay 6.2: Unidad didáctica 01 Instalación
 
Curso de liferay 6.2: Unidad didáctica 02 Funcionalidades Principales
Curso de liferay 6.2: Unidad didáctica 02 Funcionalidades PrincipalesCurso de liferay 6.2: Unidad didáctica 02 Funcionalidades Principales
Curso de liferay 6.2: Unidad didáctica 02 Funcionalidades Principales
 
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de PlantillasCurso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
Curso de Magento 1.9: Unidad Didáctica 07 Manejo de Plantillas
 
Curso de Magento 1.9: Unidad Didáctica 06 Magento Connect
Curso de Magento 1.9: Unidad Didáctica 06 Magento ConnectCurso de Magento 1.9: Unidad Didáctica 06 Magento Connect
Curso de Magento 1.9: Unidad Didáctica 06 Magento Connect
 
Curso de Magento 1.9: Unidad Didáctica 05 importación exportación
Curso de Magento 1.9: Unidad Didáctica 05 importación exportaciónCurso de Magento 1.9: Unidad Didáctica 05 importación exportación
Curso de Magento 1.9: Unidad Didáctica 05 importación exportación
 
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un TemaCurso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
Curso de Magento 1.9: Unidad Didáctica 08 Estructura de un Tema
 
Struts 2: Unidad Didáctica 06 Integracion con Hibernate
Struts 2: Unidad Didáctica 06 Integracion con HibernateStruts 2: Unidad Didáctica 06 Integracion con Hibernate
Struts 2: Unidad Didáctica 06 Integracion con Hibernate
 
Magento 1.9: Unidad Didáctica 04 Productos
Magento 1.9: Unidad Didáctica 04 ProductosMagento 1.9: Unidad Didáctica 04 Productos
Magento 1.9: Unidad Didáctica 04 Productos
 
Curso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y Atributos
Curso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y AtributosCurso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y Atributos
Curso de Magento 1.9: Unidad Didáctica 03 Catalogo. Categorías y Atributos
 
Curso de Magento 1.9: Unidad Didáctica 02 Administracion Básica
Curso de Magento 1.9: Unidad Didáctica 02 Administracion BásicaCurso de Magento 1.9: Unidad Didáctica 02 Administracion Básica
Curso de Magento 1.9: Unidad Didáctica 02 Administracion Básica
 
Curso de Magento 1.9: Unidad Didáctica 01 Instalacion
Curso de Magento 1.9: Unidad Didáctica 01 InstalacionCurso de Magento 1.9: Unidad Didáctica 01 Instalacion
Curso de Magento 1.9: Unidad Didáctica 01 Instalacion
 
Curso de Magento 1.9 Unidad Didáctica 00 Introducción
Curso de Magento 1.9 Unidad Didáctica 00 IntroducciónCurso de Magento 1.9 Unidad Didáctica 00 Introducción
Curso de Magento 1.9 Unidad Didáctica 00 Introducción
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (15)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Curso de Struts 2: Unidad Didáctica 04 Formularios

  • 1. Curso de Struts 2 Unidad Didáctica 04 Formularios David Vaquero
  • 2. Objetivos Saber cómo implementar la gestión de los formularios en struts2
  • 3. Índice de contenidos Introducción Configuración de la acción La Clase de Modelo de Datos La Clase de la Acción El formulario en el jsp Etiqueta <s:form/> Validación del formulario
  • 4. Introducción Struts permite una gestión unificada de los formularios Tiene distintos métodos dependiendo del estado del formulario input: método de ida al formulario para que el usuario lo rellene success: cuando el formulario se haya enviado correctamente
  • 5. Configuración de la Acción struts.xml <action name="register" class="es.consultec.pepesan.Register" method="execute"> <result name="success">/thankyou.jsp</ result> <result name="input">/register.jsp</result> </action>
  • 6. La clase del Modelo de datos Sería una clase normal con la salvedad del implements Serializable Debe tener ser un JavaBean constructor sin parámetros getters y setters por defecto para las propiedades toString para ayudar con el Debug
  • 7. La clase de la Acción Como siempre hereda de ActionSupport Define una propiedad del modelo de datos con sus getter y setter Dispone de un execute como siempre que devuelve SUCCESS en el caso de que haya ido correcto
  • 8. El formulario en el JSP registro.jsp <s:form action="register"> <s:textfield name="personBean.firstName" label="First name" /> <s:textfield name="personBean.lastName" label="Last name" /> <s:textfield name="personBean.email" label ="Email"/> <s:textfield name="personBean.age" label="Age" /> <s:submit/> </s:form>
  • 9. Etiqueta <s:form> <s:select key=“propiedadString” list="#{'01':'Jan', '02':'Feb', […]}"/> <s:select key=“propiedadString” list="propiedadListado"/>
  • 10. Validación del Formulario La clase Acción debe implementar el método validare Dentro comprobamos las propiedades del objeto de datos Sino valida deberemos llamar al método addFieldError(“campo”,”Texto del error”); Struts2 se encarga de la gestión de la validación de manera automática Si el formulario valida nos lleva directamente al result SUCCESS sino lleva al input
  • 11. Validación del Formulario Para que salgan las validaciones con estilos CSS es necesario incluir dentro de la etiqueta <head/> el tag <s:head/>