-
Day4] navi 완성 및 각 controller에 탑재프로젝트/MBTI 게시판 2023. 9. 20. 10:04
* Navigator는 갱신되지 않도록 두고, 클릭 이벤트에 따라 Container 부분만 변하게 만드는 건 패스. 현재 내가 jsp로 할 수 있는 영역이 아닌 것 같다. 이에 따라 오늘부터는 클릭 이벤트가 넘겨주는 값에 따라 다른 Container가 나오도록 한다.
1. header.jsp에서 li로 작성했던 navi를 a 태그로 변경
<div class="navigator"> <a href="./homeCtrl.jsp" class="homeBtn">Home</a> <a href="./testCtrl.jsp" class="testBtn">Test</a> <a href="./mapCtrl.jsp" class="mapBtn">Counseling Center</a> <a href="./loginCtrl.jsp" class="loginStr">Log In</a> </div>
2. Log in 여부에 따라 navigator에서 Log in 버튼 다르게 출력하기
로그인 되지 않은 상태라면 'Log In' 링크, 로그인 된 상태라면 '(사용자 이름)님 환영합니다!' 출력.
homeCtrl에서 session을 검사해서 log in 여부 판단하기.
String loginBtn = "<a href='./loginCtrl.jsp' class='loginBtn'>Log In</a>"; if (request.getMethod().equals("GET")) { /* session.setAttribute("container", "<jsp:include page=" + container + " />"); */ /* session.setAttribute("container", "boardLink.jsp"); */ request.setAttribute("container", container); session.setAttribute("loginBtn", loginBtn); pageContext.forward(viewPath + "home.jsp"); }
- log in 정보를 session에 저장하는 이유 : 여러 페이지에서 계속 로그인 상태를 유지해야 하므로
- (변경) container 정보를 request에 저장하는 이유 : forward로 이동할 때, pageContext에 저장한 정보는 함께 전달되지 않는다. 전날 pageContext를 사용하면서도 잘 됐던 이유는 주석 처리한 코드에서 session에 저장한 적 있어서인 것으로 추측된다. home.jsp가 호출된 후에는 소멸되도 되는 정보이므로 request를 사용한다.
3. testCtrl.jsp, mapCtrl.jsp 만들기
- testCtrl : MBTI 외부 테스트 링크 제공 및 약식 에니어그램 테스트 제공
- mapCtrl : 오프라인 성격 상담소 위치 제공
이번 프로젝트 기간(3일...) 내에 해당 페이지들을 완성할 수 있을지 모르겠지만, 일단 링크에 연결해둘 빈 페이지라도 만들어 두기로 한다.
4. logo 버튼에 homeCtrl.jsp 연결, CSS 수정
여기서 homeCtrl.jsp 관련은 일단 잠시 두고 다른 페이지들을 수정하기로 한다.
5. ~Ctrl.jsp -> ~Controller.jsp로 이름 수정 : 팀원들과 파일명 통일
6. listCtrl.jsp와 viewCtrl.jsp에 navigator 달기
이 과정에서 home.css에서 header 부분 추출해 header.css 파일로 독립시켰다. 다른 컨트롤러에서 스타일을 적용시킬 때 불필요한 영향을 덜 받게 하기 위해.
[Daily Log]
- git 지속 활용 중
- 팀원 1명 이탈
우리 팀은 지난 미니프로젝트 때는 5명이었고, 이번에는 4명으로 시작했다. 그리고 지금은 3명이 남았다. 두 분은 각자의 이유로 수업을 이탈하셨다. 이에 따라 기존 기획 중 새로운 기능을 구현하는 것은 대부분 미뤄두고, 내가 맡은 페이지 외에도 기존 페이지를 JS에서 JSP로 변경하는 작업을 우선하기로 했다.
- 주 강사님의 첨언
말도 안 되는 짧은 기간에 너무 많은 것을 훑고 지나가다보니 우리가 내용을 정리하고 소화할 시간이 많이 부족했던 것 같다. 이번 프로젝트는 대단한 성과보다 할 수 있는 만큼, 배운 것을 조금 활용해본다는 생각으로 진행해보시길.
'프로젝트 > MBTI 게시판' 카테고리의 다른 글
[day6] 발표일 (0) 2023.09.21 Day3] MVC모델 게시판 - homeController 만들기 (0) 2023.09.19