Hacer un "redirect" hacia un recurso con Struts

2547 vistas

En general, después de invocar una Action, queremos ser redirigidos hacia uno de los mapeos definidos en el fichero de configuración struts-config.xml.



xml
  1. <action path="/myAction"
  2.             type="struts.action.MyAction"
  3.             name="myActionForm"
  4.             scope="session"
  5.             input="/my.jsp"
  6.             validate="true">
  7.   <forward name="jsp" path="/jsp.jsp"/>
  8.   <forward name="..." .../>
  9. </action>



Si al final de la Action se escoge el de nombre "jsp", Struts nos reenviará la página jsp.jsp, pero sin cambiar la url http://myserver/myapplication/myAction.do en nuestro navegador.

O a veces podemos querer o puede ser interesante cambiar la url mostrada en el navegador para dejar aparecer la verdadera url del recurso mostrado.

Struts provée para ello un atributo que tendremos que añadirlo en el elemento : el atributo redirect="true".

AsÃ, en el ejemplo anterior tendremos:



xml
  1. <action path="/myAction"
  2.             type="struts.action.MyAction"
  3.             name="myActionForm"
  4.             scope="session"
  5.             input="/my.jsp"
  6.             validate="true">
  7.   <forward name="jsp" path="/jsp.jsp" redirect="true"/>
  8.   <forward name="..." .../>
  9. </action>