2017-06-26 77 views
0

我有这行基于Java的配置:其中拦截忽略

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

的preHandle做的只有一件事:

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

,我所说的属性:

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

产生于:

test: -><- 

如果我直接从servlet调用方法,它可以正常工作。

我做错了什么?

我使用NetBeans的Java Web的Web应用程序与Spring MVC 4.0.1

我怀疑这是一个错误

+0

我做了一个测试用例,其中使用了XML配置,并且确实找到了拦截​​器并提供了正确的结果。 – KimvdLinde

回答

1

添加在您注册的拦截路径模式。你可能在你的XML配置中有它们,并可能在java配置中忘记。

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

这没有什么区别。当我使用没有路径模式的XML配置时,它工作正常。问题是配置它的两种方式做不同的事情。 – KimvdLinde