qq_33641175 2021-05-19 10:31 采纳率: 0%
浏览 123

使用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";
	}
  • 写回答

1条回答 默认 最新

  • lixiaozhen007 2021-05-19 11:42
    关注

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

    评论

报告相同问题?