1 / 17

4ta. Reunión SpringHispano & JavaMexico

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

raleigh
Download Presentation

4ta. Reunión SpringHispano & JavaMexico

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 4ta. Reunión SpringHispano & JavaMexico Struts 2

  2. Agenda • Introducción Framework • Características nuevas • Configuración • Plugin Spring

  3. Introducción Framework

  4. CaracteristicasStruts2 • 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="struts.objectFactory" value="spring" /> <package name="defaulf" namespace="/" extends="struts-default"> <action name="index" class="mx.com.mexico.IndexAction"> <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 = "Por favor ingresa la fecha” ) public void setDateNow( Date now ) { this.now = now; } public Date getDateNow() { return now; } @RequiredStringValidator ( message = "Por favor ingresa el nombre", 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") 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 ""; }

  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="*Telefono" method="{1}" class="mx.com.mexico.actions.telefono.TelefonoAction"> <result>/jsp/telefono/{1}Telefono.jsp</result> <result name="exito" type="redirect-action">allTelefono</result> <result name="input">/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="#session.mySessionPropKey"/> <s:property value="#session['mySessionPropKey']"/> <s:property value="#request['myRequestPropKey']"/> <s:property value="address.postcode"/> <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. Show me thecode

  14. CaracteristicasStruts2 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/

  16. Preguntas??

  17. GRACIAS…. Esten pendientes de www.springhispano.org www.javamexico.org http://www.planetajava.org/

More Related