SlideShare una empresa de Scribd logo
4ta. Reunión SpringHispano & JavaMexico Struts 2
Agenda Introducción Framework Características nuevas Configuración Plugin Spring
Introducción Framework
Caracteristicas   Struts2 Basado en POJO’s Conversion de Datos Inyección de Dependencias Validaciones Flexible con etiquetas para Ajax Soporte OGNL Testability
Configuración XML Ahora la configuración se basa en paquetes donde cada paquete contiene los actions. Permite heredar configuraciones de otro paquete. <struts> <constant name= &quot;struts.objectFactory&quot; value=&quot;spring&quot; /> <package name= &quot;defaulf&quot; namespace=&quot;/&quot; extends=&quot;struts-default&quot;> <action name= &quot;index&quot; class=&quot;mx.com.mexico.IndexAction&quot;> <result>/jsp/index.jsp</result> </action> </package> </struts>
Como creo un Action? Los actions se basan en POJO’s. public class HelloWorldAction extends ActionSupport { private Date now; private String name; @RequiredFieldValidator ( message = &quot;Por favor ingresa la fecha” ) public void setDateNow( Date now ) { this.now = now; } public Date getDateNow() { return now; } @RequiredStringValidator ( message = &quot;Por favor ingresa el nombre&quot;, trim =  true ) public void setName(String name) { this.name = name; } public String getName() { return this.name; } public String execute() throws Exception { return  SUCCESS; } }
Conversion datos Facilita el manejo de tipo de datos como los Date, Time @TypeConversion(converter = ”org.struts2.DateConverter&quot;)  public Date getDateNow() { return now; } public class DateConverter extends StrutsTypeConverter { public String convertToString(Map context, Object o) { if (o instanceof Date) { return sdf.format((Date)o); } return &quot;&quot;; }
Inyeccion de Dependencias Plugin Spring: Framework OpenSource de IoC y más que eso! Plugin Plexus Google Guice
Elementos basicos ActionSupport : Clase para manejo de los request Result default redirect-action Redirect Freemarker Velocity stream Interceptor validationWorkflowStack fileUploadStack paramPrepareParamsStack etc…
Configuracion Wildcard Esta forma de configuracion es muy flexible para invocar diferentes metodos de nuestros actions <action name=&quot;*Telefono&quot; method=&quot;{1}&quot; class=&quot;mx.com.mexico.actions.telefono.TelefonoAction&quot;> <result>/jsp/telefono/{1}Telefono.jsp</result> <result name=&quot;exito&quot; type=&quot;redirect-action&quot;>allTelefono</result> <result name=&quot;input&quot;>/jsp/telefono/allTelefono.jsp</result> </action> public String edit() throws Exception { telefono = telefonoService.find( id ); return SUCCESS; } public String all() throws Exception { telefonos = telefonoService.findAll(); return SUCCESS; }
Soporte para OGNL  (Object Graph Navigation Language) Una tecnologia para el manejo de propiedades en los objetos Java Ejemplos: <s:property value=&quot;#session.mySessionPropKey&quot;/>  <s:property value=&quot;#session['mySessionPropKey']&quot;/>  <s:property value=&quot;#request['myRequestPropKey']&quot;/> <s:property value=&quot; address.postcode &quot;/> <s:property value=“ @com.static.Constants@getRoles() ” /> <s:property value=“ @com.static.Constants@USER_NAME ” /> <s:if test=” 'foo' in {'foo','bar'}”> <s:if test=“ listaElementos.size > 0 ” >
Que mas hay?? Soporte para: JasperReports JFreeChart JSF Struts1 Portlets REST Tiles TestNG
 
Caracteristicas   Struts2 version 2.1 Anotaciones en lugar de configuración XML Convensión sobre configuración Mas diversidad soporte para Ajax ( Dojo, YUI, Ajax file Upload, GWT, JSON )
Recursos Struts:  http://struts.apache.org/2.1.6/ http://struts.apache.org/2.1.6/docs/guides.htm http://www.infoq.com/minibooks/starting-struts2l http://www.javaworld.com/javaworld/jw-10-2008/jw-10-struts2validation.html http://www.struts2.net/
Preguntas??
GRACIAS…. Esten pendientes de www.springhispano.org   www.javamexico.org http://www.planetajava.org/

Más contenido relacionado

PPTX
Curso AngularJS - 7. temas avanzados
PPT
Session 5 : mvc - Giáo trình Bách Khoa Aptech
PDF
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
PPTX
Java struts2 - 03 componentes de la aplicacion
PDF
Curso de Struts2: Unidad Didáctica 00 Introduccion
PPT
Arquitectura java web
PPT
Curso AngularJS - 7. temas avanzados
Session 5 : mvc - Giáo trình Bách Khoa Aptech
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Java struts2 - 03 componentes de la aplicacion
Curso de Struts2: Unidad Didáctica 00 Introduccion
Arquitectura java web

Similar a Introduccion Struts2 (20)

PDF
Hands-on Spring 3: The next generation
PPTX
Strust
PPT
03 action forms
PPT
01 introducción
PDF
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
PDF
Diploma de Desarrollo de Aplicaciones con JAVA
PPT
FMK Capa de Presentacion
PPT
Hands on Spring 2.5
DOCX
Tutorial struts 2
PPT
PPTX
Framework spring
PDF
Patron mvc struts
PPTX
Clase_MVC_I.pptx
PPT
Curso Java Avanzado 6 Struts
PDF
Wholesite
PDF
Org tutorial struts_2010
PDF
Frameworks J2EE
PDF
Manual Basico De Struts
PDF
Spring framework 3
PPTX
spring framework
Hands-on Spring 3: The next generation
Strust
03 action forms
01 introducción
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
Diploma de Desarrollo de Aplicaciones con JAVA
FMK Capa de Presentacion
Hands on Spring 2.5
Tutorial struts 2
Framework spring
Patron mvc struts
Clase_MVC_I.pptx
Curso Java Avanzado 6 Struts
Wholesite
Org tutorial struts_2010
Frameworks J2EE
Manual Basico De Struts
Spring framework 3
spring framework
Publicidad

Último (20)

PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
capacitación de aire acondicionado Bgh r 410
PDF
MANUAL de recursos humanos para ODOO.pdf
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PDF
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
PPTX
Presentación de Redes de Datos modelo osi
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
clase auditoria informatica 2025.........
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PDF
CyberOps Associate - Cisco Networking Academy
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PDF
Maste clas de estructura metálica y arquitectura
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPTX
Curso de generación de energía mediante sistemas solares
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
informe_fichas1y2_corregido.docx (2) (1).pdf
Propuesta BKP servidores con Acronis1.pptx
capacitación de aire acondicionado Bgh r 410
MANUAL de recursos humanos para ODOO.pdf
Presentacion de Alba Curso Auditores Internos ISO 19011
la-historia-de-la-medicina Edna Silva.pptx
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
Presentación de Redes de Datos modelo osi
Power Point Nicolás Carrasco (disertación Roblox).pptx
clase auditoria informatica 2025.........
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
TRABAJO DE TECNOLOGIA.pdf...........................
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
CyberOps Associate - Cisco Networking Academy
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Maste clas de estructura metálica y arquitectura
Presentación PASANTIAS AuditorioOO..pptx
Curso de generación de energía mediante sistemas solares
Publicidad

Introduccion Struts2

  • 1. 4ta. Reunión SpringHispano & JavaMexico Struts 2
  • 2. Agenda Introducción Framework Características nuevas Configuración Plugin Spring
  • 4. Caracteristicas Struts2 Basado en POJO’s Conversion de Datos Inyección de Dependencias Validaciones Flexible con etiquetas para Ajax Soporte OGNL Testability
  • 5. Configuración XML Ahora la configuración se basa en paquetes donde cada paquete contiene los actions. Permite heredar configuraciones de otro paquete. <struts> <constant name= &quot;struts.objectFactory&quot; value=&quot;spring&quot; /> <package name= &quot;defaulf&quot; namespace=&quot;/&quot; extends=&quot;struts-default&quot;> <action name= &quot;index&quot; class=&quot;mx.com.mexico.IndexAction&quot;> <result>/jsp/index.jsp</result> </action> </package> </struts>
  • 6. Como creo un Action? Los actions se basan en POJO’s. public class HelloWorldAction extends ActionSupport { private Date now; private String name; @RequiredFieldValidator ( message = &quot;Por favor ingresa la fecha” ) public void setDateNow( Date now ) { this.now = now; } public Date getDateNow() { return now; } @RequiredStringValidator ( message = &quot;Por favor ingresa el nombre&quot;, trim = true ) public void setName(String name) { this.name = name; } public String getName() { return this.name; } public String execute() throws Exception { return SUCCESS; } }
  • 7. Conversion datos Facilita el manejo de tipo de datos como los Date, Time @TypeConversion(converter = ”org.struts2.DateConverter&quot;) public Date getDateNow() { return now; } public class DateConverter extends StrutsTypeConverter { public String convertToString(Map context, Object o) { if (o instanceof Date) { return sdf.format((Date)o); } return &quot;&quot;; }
  • 8. Inyeccion de Dependencias Plugin Spring: Framework OpenSource de IoC y más que eso! Plugin Plexus Google Guice
  • 9. Elementos basicos ActionSupport : Clase para manejo de los request Result default redirect-action Redirect Freemarker Velocity stream Interceptor validationWorkflowStack fileUploadStack paramPrepareParamsStack etc…
  • 10. Configuracion Wildcard Esta forma de configuracion es muy flexible para invocar diferentes metodos de nuestros actions <action name=&quot;*Telefono&quot; method=&quot;{1}&quot; class=&quot;mx.com.mexico.actions.telefono.TelefonoAction&quot;> <result>/jsp/telefono/{1}Telefono.jsp</result> <result name=&quot;exito&quot; type=&quot;redirect-action&quot;>allTelefono</result> <result name=&quot;input&quot;>/jsp/telefono/allTelefono.jsp</result> </action> public String edit() throws Exception { telefono = telefonoService.find( id ); return SUCCESS; } public String all() throws Exception { telefonos = telefonoService.findAll(); return SUCCESS; }
  • 11. Soporte para OGNL (Object Graph Navigation Language) Una tecnologia para el manejo de propiedades en los objetos Java Ejemplos: <s:property value=&quot;#session.mySessionPropKey&quot;/> <s:property value=&quot;#session['mySessionPropKey']&quot;/> <s:property value=&quot;#request['myRequestPropKey']&quot;/> <s:property value=&quot; address.postcode &quot;/> <s:property value=“ @com.static.Constants@getRoles() ” /> <s:property value=“ @com.static.Constants@USER_NAME ” /> <s:if test=” 'foo' in {'foo','bar'}”> <s:if test=“ listaElementos.size > 0 ” >
  • 12. Que mas hay?? Soporte para: JasperReports JFreeChart JSF Struts1 Portlets REST Tiles TestNG
  • 13.  
  • 14. Caracteristicas Struts2 version 2.1 Anotaciones en lugar de configuración XML Convensión sobre configuración Mas diversidad soporte para Ajax ( Dojo, YUI, Ajax file Upload, GWT, JSON )
  • 15. Recursos Struts: http://struts.apache.org/2.1.6/ http://struts.apache.org/2.1.6/docs/guides.htm http://www.infoq.com/minibooks/starting-struts2l http://www.javaworld.com/javaworld/jw-10-2008/jw-10-struts2validation.html http://www.struts2.net/
  • 17. GRACIAS…. Esten pendientes de www.springhispano.org www.javamexico.org http://www.planetajava.org/