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 POJOs Conversion de Datos Inyección de Dependencias Validaciones Flexible con etiquetas para Ajax Soporte OGNL Testability
Configuración XML o Ahora la configuración se basa en paquetes donde cada paquete contiene los actions. o Permite heredar configuraciones de otro paquete. /jsp/index.jsp
Como creo un Action? o Los actions se basan en POJOs. public class HelloWorldAction extends ActionSupport { private Date now; private String ( message = "Por favor ingresa la fecha ) public void setDateNow( Date now ) { this.now = now; } public Date getDateNow() { return now; ( 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; }
Conversion datos o Facilita el manejo de tipo de datos como los Date, = 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 ""; }
Inyeccion de Dependencias o Plugin Spring: Framework OpenSource de IoC y más que eso! o Plugin Plexus o Google Guice
Elementos basicos o ActionSupport : Clase para manejo de los request o Result o default o redirect-action o Redirect o Freemarker o Velocity o stream o Interceptor o validationWorkflowStack o fileUploadStack o paramPrepareParamsStack o etc…
Configuracion Wildcard o Esta forma de configuracion es muy flexible para invocar diferentes metodos de nuestros actions /jsp/telefono/{1}Telefono.jsp allTelefono /jsp/telefono/allTelefono.jsp 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: 0 >
Que mas hay?? Soporte para: o JasperReports o JFreeChart o JSF o Struts1 o Portlets o REST o Tiles o 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 o Struts: o o o o
Preguntas??
GRACIAS…. Esten pendientes de