lunes, 15 de octubre de 2007

Exception handling Struts2

Para mapeo global de exceptions en struts se define dentro del package:

-global-exception-mappings>
-exception-mapping result="error" exception="java.lang.Exception">
-/exception-mapping>
-/global-exception-mappings>

De esta forma el exception-interceptor cambiará el resultado del action, luego en el action se direcciona el resultado del error al lugar deseado:

-action name="countryCrud"
class="edu.matias.region.web.struts.actions.CountryAction"
method="input">
-result name="success" type="redirect-action">countryIndex-/result>
-result name="error">/WEB-INF/jsp/error.jsp-/result>
-/action>

La exception se guarda en el ExceptionHolder y se accede en el jsp via la stack de xwork en donde se guarda el objeto exceptionHolder que posee el método getExceptionStack:

<s:textarea value="%{exceptionStack}" cols="100" rows="10"/>

No hay comentarios: