在spring mvc应用程序中打开任何jsp页面之前,我想调用一个拦截器。
我所有的jsp页面都在webapps文件夹中。
有没有人能详细告诉我怎么做?
发布于 2014-02-04 22:41:22
我想你的意思是“我想对任何请求调用一个拦截器”,对吗?假设这样,在调度程序上下文中,您可以配置拦截器,例如:
<mvc:interceptors>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="language" />
</bean>
<mvc:interceptor>
<mvc:mapping path="/**" />
<mvc:exclude-mapping path="/login"/>
<mvc:exclude-mapping path="/css/**"/>
<mvc:exclude-mapping path="/js/**"/>
<mvc:exclude-mapping path="/fonts/*.*"/>
<mvc:exclude-mapping path="/img/**"/>
<bean id="checkListInterceptor" class="your.package.Interceptor">
<property name="userService" ref="webappUserService" />
</bean>
</mvc:interceptor>
</mvc:interceptors>你的拦截器实现应该是这样的:
public class CheckListInterceptor implements HandlerInterceptor {
private IWebappUserService userService;
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object arg2, Exception excp)
throws Exception {
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response,
Object arg2, ModelAndView mav) throws Exception {
//do stuf..
request.setAttribute("attrName", attrValue);
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object arg2) throws Exception {
return true; //watch it: returning false prevents page to be served!
}
public void setUserService(IWebappUserService userService) {
this.userService = userService;
}
}https://stackoverflow.com/questions/21524760
复制相似问题