[ JSP / Java ] 마이페이지 구현
2024. 3. 20. 22:44ㆍ· FULL-STACK/└ JSP (Java Server Page)
환경 : DBeaver, Sprint Tool Suite4
- MemberController.java
@Controller
@RequestMapping("/member")
public class MemberController {
@Autowired
public MemberDao memberDao;
//회원가입
//실제 로그인
//실제 로그아웃
//마이페이지
/* - (중요) 내 아이디는 HttpSession에 있다
* - 그리고 화면에 정보를 표시해야 한다*/
@RequestMapping("/mypage")
public String mypage(HttpSession session, Model model) {
//1. 세션에 저장된 아이디를 꺼낸다
String loginId = (String) session.getAttribute("loginId"); //다운캐스팅(원래대로 돌아감)
//2. 아이디에 맞는 정보를 조회한다
MemberDto memberDto = memberDao.selectOne(loginId);
//System.out.println(memberDto);
//3. 화면에 조회한 정보를 전달한다
model.addAttribute("memberDto", memberDto);
//4. 연결될 화면을 반환한다
return "/WEB-INF/views/member/mypage.jsp";
}
}
(+) HttpSession 매개변수를 사용
- mypage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<jsp:include page="/WEB-INF/views/template/header.jsp"></jsp:include>
<h1>마이페이지</h1><hr>
<h3>${memberDto.memberId}님의 회원 정보</h3>
<table border="1" width="400">
<tr>
<th width="30%">닉네임</th>
<td>${memberDto.memberNick}</td>
</tr>
<tr>
<th>이메일</th>
<td>${memberDto.memberEmail}</td>
</tr>
<tr>
<th>연락처</th>
<td>${memberDto.memberContact}</td>
</tr>
<tr>
<th>생년월일</th>
<td>${memberDto.memberBirth}</td>
</tr>
<tr>
<th>주소</th>
<td>[${memberDto.memberPost}]<br>
${memberDto.memberAddress1}, ${ memberDto.memberAddress2 }
</td>
</tr>
<tr>
<th>등급</th>
<td>${memberDto.memberLevel}</td>
</tr>
<tr>
<th>포인트</th>
<td>${memberDto.memberPoint} point</td>
</tr>
<tr>
<th>가입일시</th>
<td>
<fmt:formatDate value="${memberDto.memberJoin}" pattern="y년 M월 d일 H시 m분 s초"/>
</td>
</tr>
<tr>
<th>로그인일시</th>
<td>
<fmt:formatDate value="${memberDto.memberLogin}" pattern="y년 M월 d일 H시 m분 s초"/>
</td>
</tr>
</table>
<h3><a href="#">비밀번호 변경</a></h3>
<h3><a href="#">개인정보 변경</a></h3>
<h3><a href="#">회원 탈퇴</a></h3>
<jsp:include page="/WEB-INF/views/template/footer.jsp"></jsp:include>
(+) Model 개체로 memberDto를 넘겨주었기 때문에 jsp에서 사용 가능
(+) fmt를 활용하여 출력될 날짜 정보에 대한 패턴 지정
(+) "#"를 활용하여 링크의 위치를 잡아주지만 실제 이동하지는 않도록 해준다.
- 출력결과

개인 공부 기록용입니다:)
728x90
'· FULL-STACK > └ JSP (Java Server Page)' 카테고리의 다른 글
[ JSP / HTML ] 로그인 구조 이해 (세션 활용) - 페이지에서 로그인 하기 (0) | 2024.03.19 |
---|---|
[ JSP / HTML ] 로그인 구조 이해 (세션 활용) (1) | 2024.03.17 |
[ JSP / JSTL ] JSTL(JSP Standard Tag Library) 라이브러리 (0) | 2024.03.08 |
[ JSP ] UTF-8로 기본 설정 해두는 방법 및 설정 구문 이해 (0) | 2024.02.19 |
[ JSP / Spring ] JSP 사용 설정 및 간단한 페이지 출력 (0) | 2024.02.18 |