Configurar la gestión de excepciones en Struts

2864 vistas

Struts permite gestionar las excepciones de manera declarativa. En nuestras clases Action, si se eleva una excepción, ésta se propagará hasta la super clase Action, la cual mirará si se ha declarado una excepción para el mapping de dicha Action. Si no fuera el caso, entonces buscará si una excepción se ha declarado como excepción global en el archivo struts-config.xml.

La gestión declarativa de las excepciones crea también un mensaje de tipo ActionError (o directamente ActionMessage según la versión de Struts) a partir de la llave de ResourceBundle indicada. Entonces, este mensaje se usa en la página JSP especificada para mostrar un mensaje de error.

La ventaja más grande de este tipo de declaraciones, además de centralizar las excepciones, es sin duda el hecho de permitir no "contaminar" el código fuente de las clases Actions con bloques try/catch redundantes en varias clases.

Para declarar una exception, bastará con crear un nodo de tipo en el fichero struts-config.xml:



xml
  1. <exception
  2.         key="error.message.key"
  3.         path="/pagina.jsp"
  4.         scope="request"
  5.         type="java.handled.exception.type" />