



@PostMapping("/user/updateForm")
public String userupdateForm(int id, UserRequest.UpdateDTO requestDTO) {
// 인증 체크
User sessionUser = (User) session.getAttribute("sessionUser");
if (sessionUser == null) {
return "redirect:/loginForm";
}
// update board_tb set password = ?
userRepository.userUpdate(requestDTO, sessionUser.getId());
return "user/updateForm";
}
@PostMapping("/user/update")
public String userUpdate(UserRequest.UpdateDTO updateDTO) {
// 세션에서 사용자 정보 가져오기
User sessionUser = (User) session.getAttribute("sessionUser");
// 세션에 저장된 사용자 정보가 없을 경우 로그인 페이지로 리다이렉트
if (sessionUser == null) {
return "redirect:/loginForm";
}
// 새로운 패스워드 가져오기
String newPassword = updateDTO.getPassword();
// 패스워드가 비어있으면 다시 수정 폼으로 리다이렉트
if (newPassword == null || newPassword.isEmpty()) {
return "redirect:/user/updateForm";
}
userRepository.updatePassword(sessionUser.getId(), newPassword);
return "redirect:/user/info";
}
@GetMapping("/user/updateForm")
public String userUpdateForm(int id, UserRequest.UpdateDTO requestDTO) {
User sessionUser = (User) session.getAttribute("sessionUser");
if (sessionUser == null) {
return "redirect:/loginForm";
}
// 사용자 정보 조회
User user = userRepository.update(sessionUser.getId());
// 패스워드를 제외한 다른 필드들은 읽기 전용으로 설정
model.addAttribute("username", user.getUsername());
model.addAttribute("email", user.getEmail());
// UpdateDTO를 사용하여 패스워드를 입력 받을 수 있도록 모델에 추가
model.addAttribute("updateDTO", new UpdateDTO());
return "user/updateForm";
}
Share article