需要了解@Autowired
这段代码在做什么。我有点困惑scope=session
?这是否意味着现在user
可以在HttpSession
? 如何从 中检索它HttpSession
?如果我删除redirectAttrs.addFlashAttribute("user", user);
,那么我在JSP
页面中看不到用户?
用户类及其映射如下
<bean id="user" class="example.User" scope="session">
<aop:scoped-proxy/>
</bean>
下面的控制器重定向到另一个控制器,它不包含任何内容,只包含到登录 page.jsp 的位置
@Autowired
@Qualifier("user")
private User user;
@RequestMapping(method=RequestMethod.POST)
public String post(@ModelAttribute User user, BindingResult result, SessionStatus status, final RedirectAttributes redirectAttrs) {
logger.info("post");
new UserValidator().validate(user, result);
if (result.hasErrors()) {
return "login";
}
else {
status.setComplete();
logger.info("Email Id: " + user.getEmailId());
redirectAttrs.addFlashAttribute("user", user);
return "redirect:/landing.htm";
}
}