minlog
article thumbnail

 

회원정보수정

 

1. 회원 정보 수정 페이지 이동

📑 MemberController.jsp

@RequestMapping("/memUpdateForm.do")
public String memUpdateForm(){
 return "member/memUpdateForm";
}

 

📑 memUpdateForm.jsp

<form name="frm" action="${contextPath}/memUpdate.do" method="post">
 <input type="hidden" id="memID" name="memID" value="${mvo.memID}"/>
 <input type="hidden" id="memPassword" name="memPassword" value=""/>
 <table class="table table-bordered" style="text-align: center; border: 1px solid #dddddd;">
   <tr>
     <td style="width: 110px; vertical-align: middle;">아이디</td>
     <td>${mvo.memID}</td>
   </tr>
   <tr>
     <td style="width: 110px; vertical-align: middle;">비밀번호</td>
     <td colspan="2"><input id="memPassword1" name="memPassword1" onkeyup="passwordCheck()" class="form-control" type="password" maxlength="20" placeholder="비밀번호를 입력하세요."/></td>            
   </tr>
   <tr>
     <td style="width: 110px; vertical-align: middle;">비밀번호확인</td>
     <td colspan="2"><input id="memPassword2" name="memPassword2" onkeyup="passwordCheck()" class="form-control" type="password" maxlength="20" placeholder="비밀번호를 확인하세요."/></td>            
   </tr>
    <tr>
     <td style="width: 110px; vertical-align: middle;">사용자 이름</td>
     <td colspan="2"><input id="memName" name="memName" class="form-control" type="text" maxlength="20" placeholder="이름을 입력하세요." value="${mvo.memName}"/></td>            
   </tr>
   <tr>
     <td style="width: 110px; vertical-align: middle;">나이</td>
     <td colspan="2"><input id="memAge" name="memAge" class="form-control" type="number" maxlength="20" placeholder="나이를 입력하세요." value="${mvo.memAge}"/></td>            
   </tr>
   <tr>
     <td style="width: 110px; vertical-align: middle;">성별</td>
     <td colspan="2">
        <div class="form-group" style="text-align: center; margin: 0 auto;">
            <div class="btn-group" data-toggle="buttons">
               <label class="btn btn-primary <c:if test="${mvo.memGender eq '남자'}"> active</c:if>">
                 <input type="radio"  name="memGender" autocomplete="off" value="남자" 
                   <c:if test="${mvo.memGender eq '남자'}"> checked</c:if> />남자
               </label>
                <label class="btn btn-primary <c:if test="${mvo.memGender eq '여자'}"> active</c:if>">
                 <input type="radio"  name="memGender" autocomplete="off" value="여자"
                   <c:if test="${mvo.memGender eq '여자'}"> checked</c:if> />여자
               </label>
            </div>                    
        </div>
     </td>            
   </tr> 
   <tr>
     <td style="width: 110px; vertical-align: middle;">이메일</td>
     <td colspan="2"><input id="memEmail" name="memEmail" class="form-control" type="text" maxlength="20" placeholder="이메일을 입력하세요." value="${mvo.memEmail}"/></td>            
   </tr>
   <tr>
     <td colspan="3" style="text-align: left;">
        <span id="passMessage" style="color: red"></span><input type="button" class="btn btn-primary btn-sm pull-right" value="수정" onclick="goUpdate()"/>
     </td>             
   </tr>
 </table>
</form>

1) 세션(Session)에 저장된 ${ mvo } 을 사용하여 현제 user의 정보를 뿌려준다. 

2) 성별은 radio 박스로 하나가 체크되어야한다. < c: if > 문을 사용하여 ${mvo.성별} eq "성별값" 동일 한 것을 체크하여 선택된 상태를 active, checked 를 추가 한다.

3) 수정 버튼을 클릭시 onclick="goUpdate()" 메서드 실행 >> 가입할때와 동일한 유효성 검사 ↓ 후 Form이 저장 되도록한다.

 

 

 

 

2. 유효성 검사

goUpdate( ) 스크립트  내용생략,  아래 유효성 검사 방법 확인 

 

[ Spring ] 회원가입 유효성 검사 및 성공·실패 여부 - (3) 회원가입

회원가입 유효성 검사 1. 회원가입 화면 📑 join.jsp -html 아이디 중복확인 비밀번호 비밀번호확인 사용자 이름 나이 성별 남자 여자 이메일 1) form을 통해 전달할 값에 name(실제 데이터로 넘어갈 값

jimin-log.tistory.com

 

 

3.  로그인 성공시 팝업 및 회원정보 섹션 저장 

가입할때와 동일한 구성 요소(회원가입 성공, 실패 내용 확인 ↑)

 

📑 MemberController.jsp

@RequestMapping("/memUpdate.do")
public String memUpdate(Member m, RedirectAttributes rttr,
        String memPassword1, String memPassword2, HttpSession session) {
    ...
    
}
// 회원을 수정저장하기
int result=memberMapper.memUpdate(m);
if(result==1) { // 수정성공 메세지
   rttr.addFlashAttribute("msgType", "성공 메세지");
   rttr.addFlashAttribute("msg", "회원정보 수정에 성공했습니다.");
   // 회원수정이 성공하면=>로그인처리하기
   session.setAttribute("mvo", m); // ${!empty mvo}
   return "redirect:/";
}else {
   rttr.addFlashAttribute("msgType", "실패 메세지");
   rttr.addFlashAttribute("msg", "회원정보 수정에 실패했습니다.");
   return "redirect:/memUpdateForm.do";
}

 

📑 MemberMapper.java

publicf int memUpdate(Member vo);

 

📑 MemberMapper.xml

<update id="memUpdate" parameterType="kr.board.entity.Member">
 	update mem_tbl set memPassword=#{memPassword}, memName=#{memName}, 
    memAge=#{memAge},memGender=#{memGender},memEmail=#{memEmail} 
    where memID=#{memID}      
</update>

 

 

profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!