一开始我不知道保存为类对象的session可以取出来转换为这个类对象。让我花了很多时间。
存session:
参数必须写:HttpServletRequest request
实体类:
public class UserLoginDTO {
@NotNull(message = "用户名不能为空。")
private String userId;
@NotNull(message = "密码不能为空。")
private String passWord;
}
public class LoginUser {
private String userID;
private String userName;
}
存session:
public String login(HttpServletRequest request, @Valid @ModelAttribute UserLoginDTO userLoginDTO, Model model) {
LoginUser loginUser = employeeService.userLogin(userLoginDTO);
HttpSession httpSession = request.getSession(); //返回当前reqeust中的HttpSession,当前reqeust中的HttpSession 为null,就创建一个新的Session,否则返回null
httpSession.setAttribute("loginUser", loginUser);//设置loginUser
return "";
}
}
获取session:
public String init(HttpServletRequest request,Model model) {
HttpSession httpSession = request.getSession();
Object loginUser =httpSession.getAttribute("loginUser");// 获取刚才存入的session
LoginUser lUser=(LoginUser) loginUser;//将Object对象转换为LoginUser对象。
String employeeId= lUser.getUserId();
System.out.println(employeeId); // 输出来看一下是不是自己想要的
return "";
}
与本文相关知识点有关的文档,有疑惑可以试着看一下: