mvc判断参数是否传入,拦截器,登录页面访问问题
- 判断参数username和password是否传入,没有传入为空,
注意设置@RequestParam(required=false)
@PostMapping("/login")
public String login(@RequestParam(required=false) String username,@RequestParam(required=false) String password, HttpServletRequest request, HttpSession session, RedirectAttributes attributes) {
if (username == null && password == null) {
attributes.addFlashAttribute("message", "");
return "redirect:/admin";
}
}
- 通过设置请求方式,来处理
@GetMapping("/login") @PostMapping("/login")名字可以相同
@GetMapping("/login")
public String login() {
return "admin/login";
}
@PostMapping("/login")
public String login(@RequestParam String username, @RequestParam String password, HttpServletRequest request, HttpSession session, RedirectAttributes attributes) {
User user = userService.checkUser(username, password);
if (user != null) {
user.setPassword(null);
session.setAttribute("user", user);
return "blogs";
} else {
attributes.addFlashAttribute("message", "用户名或密码错误");
return "redirect:/admin";
}
}