java struts2 struts2-interceptors interceptorstack

java - Eliminar el interceptor de la pila en Struts2



struts2-interceptors interceptorstack (2)

Use una Pila de Interceptor diferente para su Acción, o use diferentes Pilas de Interceptor para diferentes paquetes, y agrupe todas las Acciones en el paquete correcto.

En struts.xml , he incluido tokenSession interceptor en mi interceptor-stack para validar token para cada solicitud. Desafortunadamente, lo mismo no está funcionando bien para las solicitudes AJAX. invalid.token respuesta invalid.token cuando ejecuta actionInvocation.invoke() .

Por lo tanto, me gustaría dejar de ejecutar el interceptor tokenSession para solicitudes AJAX (solo). Tengo un interceptor personalizado (logging) que se invoca antes del interceptor tokenSession . ¿Es posible eliminar el interceptor tokenSession de la pila en el interceptor de registro según el tipo de solicitud (si es una solicitud AJAX)?


El interceptor de MethodFilterInterceptor extiende MethodFilterInterceptor que significa que puede excluir la ejecución de bases de interceptor en los nombres de los métodos.

En tu pila de interceptor, configúralo así:

<interceptor-ref name="token"> <param name="excludeMethods">your_ajax_methods_comma_separated</param> </interceptor-ref>

Otra solución es usar diferente pila de interceptor para tus acciones AJAX.