Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring:如何在SpringMVC中使用会话_Spring_Spring Mvc_Session - Fatal编程技术网

Spring:如何在SpringMVC中使用会话

Spring:如何在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

我有一个登录表单,我想显示登录用户的姓名。我想在SpringMVC中使用会话,但它不起作用

这是UsersController

@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”