4ta. Reunión SpringHispano & JavaMexico Struts 2
Agenda <ul><li>Introducción Framework </li></ul><ul><li>Características nuevas </li></ul><ul><li>Configuración </li></ul><...
Introducción Framework
Caracteristicas   Struts2 <ul><li>Basado en POJO’s </li></ul><ul><li>Conversion de Datos </li></ul><ul><li>Inyección de De...
Configuración XML <ul><li>Ahora la configuración se basa en paquetes donde cada paquete contiene los actions. </li></ul><u...
Como creo un Action? <ul><li>Los actions se basan en POJO’s. </li></ul><ul><li>public class HelloWorldAction extends Actio...
Conversion datos <ul><li>Facilita el manejo de tipo de datos como los Date, Time </li></ul><ul><li>@TypeConversion(convert...
Inyeccion de Dependencias <ul><li>Plugin Spring: Framework OpenSource de IoC y más que eso! </li></ul><ul><li>Plugin Plexu...
Elementos basicos <ul><li>ActionSupport : Clase para manejo de los request </li></ul><ul><li>Result </li></ul><ul><ul><li>...
Configuracion Wildcard <ul><li>Esta forma de configuracion es muy flexible para invocar diferentes metodos de nuestros act...
Soporte para OGNL  (Object Graph Navigation Language) <ul><li>Una tecnologia para el manejo de propiedades en los objetos ...
Que mas hay?? <ul><li>Soporte para: </li></ul><ul><li>JasperReports </li></ul><ul><li>JFreeChart </li></ul><ul><li>JSF </l...
 
Caracteristicas   Struts2 version 2.1 <ul><li>Anotaciones en lugar de configuración XML </li></ul><ul><li>Convensión sobre...
Recursos <ul><li>Struts:  http://struts.apache.org/2.1.6/ </li></ul><ul><li>http://struts.apache.org/2.1.6/docs/guides.htm...
Preguntas??
GRACIAS…. <ul><li>Esten pendientes de </li></ul><ul><li>www.springhispano.org   </li></ul><ul><li>www.javamexico.org </li>...
Upcoming SlideShare
Loading in …5
×

Introduccion Struts2

3,967 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,967
On SlideShare
0
From Embeds
0
Number of Embeds
62
Actions
Shares
0
Downloads
133
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduccion Struts2

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

×