Spring:如何在SpringMVC中使用会话
我有一个登录表单,我想显示登录用户的姓名。我想在SpringMVC中使用会话,但它不起作用 这是UsersControllerSpring:如何在SpringMVC中使用会话,spring,spring-mvc,session,Spring,Spring Mvc,Session,我有一个登录表单,我想显示登录用户的姓名。我想在SpringMVC中使用会话,但它不起作用 这是UsersController @PostMapping("/room/saveRegister") public String saveRegister(@Valid Users users, BindingResult result, RedirectAttributes redirect) { if (result.hasErrors()) { return "regis
@PostMapping("/room/saveRegister")
public String saveRegister(@Valid Users users, BindingResult result, RedirectAttributes redirect) {
if (result.hasErrors()) {
return "register";
}
usersService.save(users);
redirect.addFlashAttribute("success", "Saved user successfully!");
return "redirect:/room";
}
@GetMapping("/room/login")
public String login(Model model) {
model.addAttribute("users", new Users());
return "login";
}
@PostMapping("/room/loginRoom")
public String login(@ModelAttribute("users") Users user, ModelMap modelMap, RedirectAttributes redirect,HttpSession session) {
if(usersService.findByEmailAndPass(user.getEmail(),user.getPass()) != null) {
session.setAttribute("name",user.getName());
return "redirect:/room";
}else {
modelMap.put("error", "Email or Password is not correct. Pleased Try Again");
return "login" ;
}
}
在file.html中,我添加了
<li ><a href="account.html"><span th:text ="${session.name}"></span></a></li>
但是当我成功登录时。未显示用户的名称。会话无效。我不知道为什么您需要使用
${sessionScope.name}
而不是${session.name}
有关更多详细信息,请访问参考此链接
有人告诉我您没有使用从数据库中检索到的用户。请参阅此-@M.Deinum I在数据库中按帐户登录,有关登录的所有内容都已完成,但我希望按会话显示用户的名称。。但它不再有效,您没有使用从数据库检索到的用户。我假设用户只输入用户名/密码。因此传入的用户不包含任何其他内容。@datnguyen94在使用${sessionScope.name}时,需要检查用户名是否为null。。将出现错误EL1007E:在null上找不到属性或字段“name”