Java spring:在每个控制器模型中添加会话属性

Java spring:在每个控制器模型中添加会话属性,java,spring,spring-boot,velocity,Java,Spring,Spring Boot,Velocity,我想为每个控制器在模型中添加常用属性 HandlerInterceptorAdapter可用于拦截请求。例如,您可以覆盖preHandle以验证会话,并在postHandle中将用户添加到模型中 public class SessionValidator extends HandlerInterceptorAdapter{ @Override public boolean preHandle(HttpServletRequest request,

我想为每个控制器在模型中添加常用属性

HandlerInterceptorAdapter可用于拦截请求。例如,您可以覆盖preHandle以验证会话,并在postHandle中将用户添加到模型中

public class SessionValidator extends HandlerInterceptorAdapter{

@Override
public boolean preHandle(HttpServletRequest request,
                         HttpServletResponse response, Object handler) throws Exception {
    HttpSession session = request.getSession();
    if (session == null || session.getAttribute("user") == null) {
        return false;
    }
    return super.preHandle(request, response, handler);
}


@Override
public void postHandle(HttpServletRequest request,
                       HttpServletResponse response, Object handler,
                       ModelAndView modelAndView) throws Exception {
    HttpSession session = request.getSession();

    if (modelAndView != null) {
        modelAndView.getModelMap().addAttribute("user", session.getAttribute("user"));
    }
}

}

你的问题是?有什么例子吗?@home我找到了解决方案,只是误用了include和parse。因此,我删除了不敬的描述,并在下面自己回答。谢谢。在@ControllerAdvice中使用@SessionAttribute怎么样?