我正在尝试按照这篇文章使用 Spring Boot 和 Hibernate 制作一个简单的登录应用程序,不同之处在于我使用的是 JSP 而不是 Thymeleaf。
虽然注册成功进行,但在使用注册的电子邮件 ID 登录时,我收到TransientDataAccessResourceException。
我对这篇文章的理解是,' spring.queries.users-query ' 属性(来自 application.properties)需要 1 个参数(应该是),但它无法找到它,我不知道为什么。
这是我的代码:
登录控制器
@Controller
public class LoginController {
@Autowired
private UserService userService;
@GetMapping("/login")
public String showLoginPage() {
return "login";
}
@GetMapping("/register")
public ModelAndView showRegistrationPage() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("register");
modelAndView.addObject("user",new User());
return modelAndView;
}
@PostMapping("/register")
public ModelAndView registerNewUser(@Valid @ModelAttribute("user") User user,BindingResult bindingResult) {
ModelAndView modelAndView = new ModelAndView();
User userObj = userService.findUserByEmail(user.getEmail());
if(userObj != null){
bindingResult.rejectValue("email", "error.user", "This email id is already registered.");
}
modelAndView.setViewName("register");
if(bindingResult.hasErrors()){
return modelAndView;
}else{
userService.saveUser(user);
modelAndView.addObject("user",new User());
modelAndView.addObject("successMessage", "User registered successfully");
}
return modelAndView;
}
}
慕容森
相关分类