使用request从HandlerInterceptor向Controller传值失败

-- HandlerInterceptor中preHandle方法下设置值
req.setAttribute(MyInterceptor.REQ_CERT, "1000");
req.setAttribute(MyInterceptor.REQ_CERT2, "1000");

-- Controller中取值

	public String abc(@RequestAttribute(MyInterceptor.REQ_CERT) String a,
			@SessionAttribute(MyInterceptor.REQ_CERT) String b,
			@RequestAttribute(MyInterceptor.REQ_CERT2) String c,
			@SessionAttribute(MyInterceptor.REQ_CERT2) String d, HttpServletRequest req) {

		logger.info(a); -- 输出null
		logger.info(b); -- 输出null
		logger.info(c); -- 输出null
		logger.info(d); -- 输出null
		logger.info(req.getAttribute(MyInterceptor.REQ_CERT)); -- 输出1000
		logger.info(req.getAttribute(MyInterceptor.REQ_CERT2)); -- 输出0
		logger.info(req.getSession().getAttribute(MyInterceptor.REQ_CERT)); -- 输出null
		logger.info(req.getSession().getAttribute(MyInterceptor.REQ_CERT2)); -- 输出1000

		return "done";
	}

 

建议在登录的基础上,放入session,或者是其他的地方,本地缓存之类的