modify .jsp
form라이브러리 추가
<form:form action='${root}/user/modify_pro' method='post' modelAttribute="modifyUser">
<form:hidden path="userIdChecked" value="true" />
<form:hidden path="user_idx"/>
<div class="form-group">
<form:label path="user_name">이름</form:label>
<form:input path="user_name" class='form-control' readonly="true"/>
</div>
<div class="form-group">
<form:label path="user_id">아이디</form:label>
<form:input path="user_id" class='form-control' readonly="true"/>
</div>
<div class="form-group">
<form:label path="user_pw">비밀번호</form:label>
<form:password path="user_pw" class='form-control' showPassword="true" />
<form:errors path='user_pw' style='color:coral'/>
</div>
<div class="form-group">
<form:label path="user_pw2">비밀번호 확인</form:label>
<form:password path="user_pw2" class='form-control' showPassword="true" />
<form:errors path='user_pw2' style='color:coral'/>
</div>
<div style="color:coral">${msg }</div>
<div class="form-group">
<div class="text-right">
<form:button class='btn btn-primary'>정보수정</form:button>
</div>
</div>
</form:form>
hidden - 이미 로그인 체크는 되어있음,
user_idx도 히든으로 넣음
읽기만 가능
showpassword 패스워드 보임
에러 태그
비밀번호가 같지 않을 때 에러메세지
UserController
컨트롤러에서 modifyUser객체를 내려줘야함
@GetMapping("/modify")
public String modify(UserVO modifyUser) {//UserVO modifyUser객체가 자동으로 전달
uService.
return "user/modify";
}
mappers
UserMapper.xml
<select id="getUser" parameterType="Integer" resultType="com.demo.domain.UserVO">
SELECT user_idx ,user_id, name
FROM user
WHERE user_idx =#{user_idx}
</select>
UserDAO
//회원 정보 수정 페이지-get
public UserVO getmodifyUserInfo(int user_idx) {
return sqlTemplate.selectOne("user.getUser", user_idx);
}
UserService
//회원 정보 수정 페이지-get
public void getmodifyUserInfo(@ModelAttribute("modifyUser") UserVO modifyUser) {
//세션 유저에서 현재 로그인 된 유저의 user_idx로 수정 전 정보를 가져온다.
UserVO temp = userDAO.getmodifyUserInfo(sessionUser.getUser_idx());
//빈 수정 객체에 정보를 넣기
modifyUser.setUser_id(temp.getUser_id());
modifyUser.setName(temp.getName());
modifyUser.setUser_idx(temp.getUser_idx());
}
1) 세션 유저에서 현재 로그인 된 유저의 user_id(인덱스 번호)로 수정 전 정보를 가져옴
2)userVO객체->modifyUser에 넣어준다.
UserController
처음에는 빈 객체였는데 돌아올 때는 데이터 담아서 옴
@modelAttribute로 객체 전달함
이름과 아이디는 수정 불가능
비밀번호만 수정 가능함
'BACKEND > Spring' 카테고리의 다른 글
게시판 만들기 2 - 글 작성하기 (get) (0) | 2023.10.31 |
---|---|
게시판 만들기 2 - 정보 수정 하기 (0) | 2023.10.31 |
게시판 만들기 2 - 정보 수정 페이지와 글쓰기,글상세보기 페이지는 로그인 시 이용가능함 (1) | 2023.10.30 |
게시판 만들기 2 - 상단 화면에 로그인/로그아웃 표시 (0) | 2023.10.30 |
게시판 만들기 2 - 로그인 처리 (0) | 2023.10.30 |