BACKEND/Spring

게시판 만들기 2 - 정보 수정 하기

죠으닝 2023. 10. 31. 10:20

 

 

UserController

	
	@PostMapping("/modify_pro")
	public String modify_pro(@Valid @ModelAttribute("modifyUser") UserVO modifyUser, 
							 BindingResult result, Model model) {
		
		if(result.hasErrors()) {
			return "user/modify";
		}
		if(!modifyUser.getUser_pw().equals(modifyUser.getUser_pw2())) {
			model.addAttribute("msg", "비밀번호가 같지 않습니다!");
			return "user/modify";
		}
		
		//DB에 수정된 비밀번호 저장하기
		
		return "user/modify_success";
	}

 

@Valid 유효성 검사 

검사해보고 틀리면 다시 modify 페이지로 이동 

비밀번호가 같지 않으면 메세지와함께 modify 페이지로 이동

 

 

 

 

UserMapper

<update id="updateUser" parameterType="com.demo.domain.UserVO" >
 	UPDATE user
 	SET user_pw = #{user_pw}
 	WHERE user_idx =#{user_idx}
</update>

 

 

UserDAO

	//회원 정보 수정 post
	public void modifyUserInfo(UserVO modifyUser) {
		sqlTemplate.update("user.updateUser",modifyUser);
	}

 

 

UserService

	public void modifyUserInfo(UserVO modifyUser) {
		userDAO.modifyUserInfo(modifyUser);
	}

 

 

 

UserController

	@PostMapping("/modify_pro")
	public String modify_pro(@Valid @ModelAttribute("modifyUser") UserVO modifyUser, 
							 BindingResult result, Model model) {
		
		if(result.hasErrors()) {
			return "user/modify";
		}
		if(!modifyUser.getUser_pw().equals(modifyUser.getUser_pw2())) {
			model.addAttribute("msg", "비밀번호가 같지 않습니다!");
			return "user/modify";
		}
		
		//유저정보(비밀번호) 업데이트
		uService.modifyUserInfo(modifyUser);
		
		return "user/modify_success";
	}

 

 

 

 

 

 

modify_success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="root" value="${pageContext.request.contextPath}" />

<script>
	alert('수정되었습니다')
	location.href = '${root}/user/modify'
</script>