Foros del Web » Programación para mayores de 30 ;) » Java »

¿Como pasar de un action a otro a traves de struts?

Estas en el tema de ¿Como pasar de un action a otro a traves de struts? en el foro de Java en Foros del Web. Hola, estoy teniendo un problema que no acabo de resolver. Quiero que cuando salte una excepcion, un controlador me la capture, se me envie un ...
  #1 (permalink)  
Antiguo 04/03/2010, 02:35
 
Fecha de Ingreso: abril-2007
Mensajes: 8
Antigüedad: 12 años, 3 meses
Puntos: 0
¿Como pasar de un action a otro a traves de struts?

Hola, estoy teniendo un problema que no acabo de resolver.
Quiero que cuando salte una excepcion, un controlador me la capture, se me envie un email y se muestre una jsp determinada. El circuito es este:

Salta el error->Controlador.java->EnviaMail.java->error.jsp

Lo unico que consigo es llegar al final del Controlador.java, pero luego no se como configurar el struts. Os pongo un link donde explico y muestro el codigo resumido.

[URL="http://pastebin.com/raw.php?i=PSzkBNgY"]http://pastebin.com/raw.php?i=PSzkBNgY[/URL]


Muchas gracias, toy desesperao

Última edición por Custom1979; 04/03/2010 a las 02:43
  #2 (permalink)  
Antiguo 04/03/2010, 02:54
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.507
Antigüedad: 11 años
Puntos: 188
Respuesta: ¿Como pasar de un action a otro a traves de struts?

Las actions se configuran en el struts-config.xml, ahi incluyes el path a seguir, que puede ser otro action o una jsp. Recuerda que se llaman con "/accion.do".

El tiles-defs.xml es para crear plantillas, algo así como las master pages en .net, y donde irán las denominaciones dadas a los paths del struts-config que tengan que ver con urls, así como la jsp con la que se corresponden.

Los sources donde buscar las actions, para nombrarlos de forma mas facil, se pueden configurar en el webapp-config.xml

Suerte
  #3 (permalink)  
Antiguo 04/03/2010, 03:30
 
Fecha de Ingreso: abril-2007
Mensajes: 8
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: ¿Como pasar de un action a otro a traves de struts?

Tiles no uso.
En Controlador.java la ultima linea es :

return mapping.findForward("enviaMailError");

Entonces en que me equivoco en este codigo:

<action path="/controlador" type="es.**.**.**.util.EnviaMail" scope="request" parameter="do">
<forward name="enviaMailError" path="/jsp/error.jsp" />
</action>
  #4 (permalink)  
Antiguo 04/03/2010, 03:45
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: ¿Como pasar de un action a otro a traves de struts?

Wenas

Te sobra el .do del path (/controlador.do -> /controlador)

Código:
<action path="/controlador" type="es.**.**.***.util.EnviaMail" scope="request" parameter="do">
		<forward name="enviaMailError" path="/jsp/error.jsp" />
</action>
Imaginando, claro esta, que tu web.xml es algo parecido a esto.
Código:
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
        <load-on-startup>1</load-on-startup>
  </servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
Y de momento en tu error jsp, que debe estar en el directorio jsp que cuelga directamente de tu aplicacion. Pon un "hola" a ver si te sale.

Saludos.
__________________
--
NO. Tu problema no es urgente.

CCFVLS
  #5 (permalink)  
Antiguo 04/03/2010, 04:11
 
Fecha de Ingreso: abril-2007
Mensajes: 8
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: ¿Como pasar de un action a otro a traves de struts?

Sigue sin funcionar, el web.xml esta como indicas. Venga mas ideas mas ideas
  #6 (permalink)  
Antiguo 04/03/2010, 06:16
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: ¿Como pasar de un action a otro a traves de struts?

Vale.

Código:
<global-exceptions>
    <exception handler="es.**.***.**.excepciones.Controlador" key="key"
    type="java.lang.Exception"  path="/controlador.do"></exception>
</global-exceptions>
Le estas diciendo con que clase quieres parsear la excepcion pero no cual es la accion a la que se tiene que dirigir (path="/controlador.do")

Cuenta
__________________
--
NO. Tu problema no es urgente.

CCFVLS
  #7 (permalink)  
Antiguo 04/03/2010, 06:33
 
Fecha de Ingreso: abril-2007
Mensajes: 8
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: ¿Como pasar de un action a otro a traves de struts?

OK, muchas gracias.

Etiquetas: pasar, struts, acciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:38.