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.