jueves, 27 de septiembre de 2007

Testing Web

HttpUnit es una alternativa para testear la navegación web, desde el lugar del usuario, basada en JUnit. Se interactúa como si fuera el browser, con URL y métodos para acceder a los campos e informaciones del html.
Eg:
    WebConversation wc = new WebConversation();
WebResponse resp = wc.getResponse( "http://www.meterware.com/testpage.html" );
Una vez que tenemos la WebResponse usamos los getters y setters para acceder a la info.
Eg:
WebTable table = resp.getTables()[0];
WebForm form = resp.getForms()[0]; // select the first form in the page

lunes, 17 de septiembre de 2007

Generic Crud

En gral para crear las clases genéricas para las operaciones ABM (CRUD) aparece la complicación del requerimiento de un método para recuperar la key de la entidad persistente (por defecto getId()). En algunos casos se puede salvar pero llegado el momento, en el manager o en el action es necesario. Una solución (invasiva) sería hacer una super-interface con el método getId() y que los entity pojos la implementen.

martes, 11 de septiembre de 2007

Struts actions extension .action .do

La propiedad struts.action.extension es la que define las actions a ser mapeadas por struts.
Se puede especificar en struts.properties (deprecated) en struts.xml o en web.xml. http://struts.apache.org/2.x/docs/constant-configuration.html muestra el tratamiento de las constantes para struts2.
eg. struts.xml
struts
constant name="struts.action.extension" value="action,do"
/struts

eg web.xml
filter
init-param
param-name struts.action.extension /param-name
param-value action,caco /param-value
init-param

Struts2 validation

Para bypassear la validación la primera vez que se muestra la página es necesario referirse a un método especial en la clase ActionSupport. Se cambia el mapeo de la siguiente forma en el jsp:

s:url action="Logon" por

s:url action="Logon_input"

Y en el mapeo del action:

action name="Logon" class="tutorial.Logon" por

action name="Logon_*" method="{1}" class="tutorial.Logon"

En el mapeo

Referencia: http://struts.apache.org/2.x/docs/validating-input.html

Struts 2 annotations

Un posteo de annotations para actions en struts 2
http://bridee.blogspot.com/2007/05/struts-2-annotation-action-correo.html