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

Problema Struts2 + Interceptor

Estas en el tema de Problema Struts2 + Interceptor en el foro de Java en Foros del Web. Hola buenas. Estoy un poco desesperado con el tema. Al lio: Tengo un formulario simple: Código: <s:form action="pruebaAction"> <s:textfield name="usuario" value="Usuario" /> <s:submit value="Aceptar"/> </s:form> ...
  #1 (permalink)  
Antiguo 22/03/2011, 03:57
 
Fecha de Ingreso: marzo-2011
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Problema Struts2 + Interceptor

Hola buenas.

Estoy un poco desesperado con el tema. Al lio:

Tengo un formulario simple:

Código:
<s:form action="pruebaAction">
	<s:textfield name="usuario" value="Usuario" />
	<s:submit value="Aceptar"/>
</s:form>
En el Action se me mapea correctamente el valor del campo usuario:

Código:
public class PruebaAction extends ActionSupport {
	private String usuario;

	public String getUsuario() {
		return usuario;
	}

	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}
El problema viene cuando en Struts.xml incluyo un interceptor para comprobar X antes de ir al action:

Código:
<struts>
	<package name="alveole-defaults" extends="struts-default">
		<interceptors>
            <interceptor name="myInterceptor" class="interceptor.InterInterceptor"/>
        </interceptors>


        <action name="pruebaAction" class="action.PruebaAction">
			<result>index.jsp</result>
			<interceptor-ref name="myInterceptor"></interceptor-ref>
		</action>


	</package>
</struts>
Cuya implementacion es:

Código:
public class InterInterceptor implements Interceptor {


  public void destroy() {
  }

  public void init() { 
  }
  
  public String intercept(ActionInvocation actionInvocation) throws Exception {
      return actionInvocation.invoke();
      }
  }
Como veis lo he simplificado todo al maximo. Pues bien, en ese caso, el valor del campo usuario ya no se me mapea al atributo.

¿Alguna idea?
  #2 (permalink)  
Antiguo 22/03/2011, 06:08
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Problema Struts2 + Interceptor

Hombre, te has cepillado todos los interceptores del paquete defaultStack dejando sólo el tuyo, por lo que no te funcionará ni la recuperación de elementos de la request, ni las validaciones, etc...

Lo que tienes que hacer es añadirle tu interceptor el defaultStack, no sustituirlo.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 22/03/2011, 06:23
 
Fecha de Ingreso: marzo-2011
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Problema Struts2 + Interceptor

Muchas gracias por responder.

Creo que estaba cegado con el tema.

Solucionado.
  #4 (permalink)  
Antiguo 22/03/2011, 06:31
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Problema Struts2 + Interceptor

Los interceptors se ejecutan en el orden en el que están declarados, y eso tiene mucha importancia.

Por ejemplo, tú estás intentando leer un parámetro, antes de que otro interceptor lo pase de la request al valuestack.

Léete lo que hace cada uno de los interceptors del defaultstack o el basicstack, y sabrás cuando debes llamar al tuyo. A lo mejor te sirve con llamarlo de último.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: struts
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 07:51.