<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원정보 수정</title>
</head>
<body>
<h1 align="center">회원정보수정</h1>
<div class="">
<form action="/member/modify.kh" method="post">
<table>
<tr>
<td>* 아이디</td>
<td><input type="text" id="memberId" name="memberId" value="${member.memberId }" readonly>
</td>
</tr>
<tr>
<td>* 비밀번호</td>
<td><input type="password" name="memberPw" value=""></td>
</tr>
<tr>
<td>* 이름</td>
<td><input type="text" name="memberName" value="${member.memberName }" readonly></td>
</tr>
<tr>
<td>* 이메일</td>
<td><input type="text" name="memberEmail" value="${member.memberEmail }"></td>
</tr>
<tr>
<td>* 전화번호</td>
<td><input type="text" name="memberPhone" value="${member.memberPhone }"></td>
</tr>
<tr>
<td>* 우편번호</td>
<td><input type="text" name="post" value="${post }" ></td>
<!-- 배열로 값을 받았다면 ${addreess[0]}으로 표기하여 출력할수 있다-->
</tr>
<tr>
<td>* 주소</td>
<td><input type="text" name="address" value="${address }"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="수정하기">
<button type="button" onclick="removeMember();"> 탈퇴하기 </button>
<!-- //type을 button으로 꼭 적어줘야! submit이 되지 않는다!! 꼭 기억하기!
-->
</td>
</tr>
</table>
</form>
</div>
<script>
function removeMember() {
if(window.confirm("탈퇴하시겠습니까?")){
location.href="/member/remove.kh";
}
}
</script>
</body>
</html>
@RequestMapping(value = "/member/myPage.kh", method = RequestMethod.GET)
public ModelAndView viewMyPage(HttpServletRequest request,
ModelAndView mv) {
HttpSession session = request.getSession();
Member member = (Member) session.getAttribute("loginUser");
String memberId = member.getMemberId();
Member mOne = mService.printOneById(memberId);
String post = mOne.getMemberAddress().split(",")[0];
String address = mOne.getMemberAddress().split(",")[1];
try {
mv.addObject("member", mOne);
mv.addObject("post", post);
mv.addObject("address", address);
mv.setViewName("member/myPage");
} catch (Exception e) {
mv.addObject("msg", e.getMessage());
mv.setViewName("common/errorPage");
}
return mv;
}
HttpSession session = request.getSession();
: 세션값 가지고옴Member member = (Member) session.getAttribute("loginUser");
String memberId = member.getMemberId();
Member mOne = mService.printOneById(memberId);
String post = mOne.getMemberAddress().split(",")[0];
String address = mOne.getMemberAddress().split(",")[1];
mv.addObject("member", mOne);
mv.addObject("post", post);
mv.addObject("address", address);
mv.setViewName("member/myPage");
mv.addObject("msg", e.getMessage());
mv.setViewName("common/errorPage");
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>에러메시지</h1>
<h3>${msg }</h3>
</body>
</html>
@Override
public Member printOneById(String memberId) {
Member member = mStore.printOneById(session, memberId);
return member;
}
@Service
public class MemberServicImpl implements MemberService{
@Service
를 붙였기때문에 이 클래스로 연결됨. @Autowired
private SqlSessionTemplate session;
@Autowired
private MemberStore mStore;
@Override
public Member printOneById(SqlSessionTemplate session, String memberId) {
Member member = session.selectOne("MemberMapper.selectOneId", memberId);
return member;
}
<mapper namespace="MemberMapper">
<resultMap type="com.kh.junspring.member.domain.Member" id="memberResultMap">
<id property="memberId" column="MEMBER_ID"/>
<result property="memberPw" column="MEMBER_PWD"/>
<result property="memberName" column="MEMBER_NAME"/>
<result property="memberEmail" column="MEMBER_EMAIL"/>
<result property="memberPhone" column="MEMBER_PHONE"/>
<result property="memberAddress" column="MEMBER_ADDR"/>
<result property="endrollDate" column="ENROLL_DATE"/>
<result property="updateDate" column="UPDATE_DATE"/>
<result property="status" column="M_STATUS"/>
</resultMap>
<select id="selectOneId" resultMap="memberResultMap">
select * from member_tbl where member_id = #{memberId} and m_status='y'
</select>
</mapper>
session.selectOne("MemberMapper.selectOneId", memberId);
select * from member_tbl where member_id = #{memberId} and m_status='y'
type="com.kh.junspring.member.domain.Member"
에 저장된 클래스의 변수에 초기화 시키며,컬럼이 여러줄일때는 List로 반환한다.
쿼리문이 반환해준 값은 type에 지정된 클래스의 인스탠스로 반환했으며
Store에서 그 반환받은 값을
`Member member = session.selectOne("MemberMapper.selectOneId", memberId);`
member안에 저장해서 Controller로 반환하였다.