2017-06-26 9 views
0

ich eine JAVA-basierte Konfiguration mit dieser Linie haben:Interceptor ignoriert

public void addInterceptors(InterceptorRegistry registry) { 
    registry.addInterceptor((HandlerInterceptor) new LogInterceptor()); 
} 

von denen die preHandle tut nur eines:

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { 
    request.setAttribute("test", "something for fun"); 
    return true; 
} 

in der JSP-Seite, nenne ich das Attribut:

test: ->${pageContext.request.getAttribute("test")}<- 

ergibt:

test: -><- 

Wenn ich die Methode direkt aus dem Servlet aufrufen, funktioniert es ordnungsgemäß.

Was habe ich falsch gemacht?

Ich benutze NetBeans Java Web Web-Anwendung mit Spring MVC 4.0.1

Ich vermute, dies ist ein Bug

+0

Ich machte einen Testfall, in dem ich die XML-Konfiguration verwende, und dass man den Interzeptor findet und das richtige Ergebnis gibt. – KimvdLinde

Antwort

1

Pfadmuster hinzufügen, wo Sie Ihre Abfangjäger registrieren. Sie haben sie wahrscheinlich in Ihrer XML-Konfiguration und möglicherweise in Java-Konfiguration vergessen.

public void addInterceptors(InterceptorRegistry registry) { 
    registry.addInterceptor((HandlerInterceptor) new LogInterceptor()).addPathPatterns("/*"); 
} 
+0

Das macht keinen Unterschied. Wenn ich XML-Konfiguration ohne den Pfad Muster verwende, funktioniert es gut. Das Problem ist, dass die zwei Arten der Konfiguration unterschiedliche Dinge tun. – KimvdLinde