[spring 실습] 게시판 만들기 - 상세(Detail) 페이지 추가
[spring실습] 게시판 만들기 - 글 쓰기 기능 만들기 : integer-ji.tistory.com/341
[spring실습] 게시판 만들기 - 글 수정 기능 만들기 : integer-ji.tistory.com/342
[spring실습] 게시판 만들기 - 글 삭제 기능 만들기 : integer-ji.tistory.com/343
이어서 진행됩니다.
게시판에서 이제 제목을 누르면 상세페이지로 이동하는 Detail 페이지를 만들어 줍니다.
Select Sql문 추가
SELECT
PRO_ID,
PRO_TITLE,
PRO_BODY,
PRO_DATE
FROM TB_PROJECT
WHERE
PRO_ID = #{proId}
proId의 값을 받아 해당 글의 정보를 뽑아냅니다.
DAO 추가
List<ProjectVO> detailProject(int proId);
selectProjectList를 이용하여 값을 뽑았습니다.
proId를 넣은 detailProject의 값을 list에 넣어줍니다.
Service 추가
List<ProjectVO> detailProject(int proId);
ProjectServiceImpl도 추가해 줍니다.
@Override
public List<ProjectVO> detailProject(int proId) {
return projectMapper.detailProject(proId);
}
selectProjectList와 마찬가지로 detailProject를 return 해줍니다.
Controller 추가
@RequestMapping(value = "/projectDetailForm.do")
public String detailProject(@ModelAttribute("projectVO") ProjectVO projectVO, Model model) {
List<ProjectVO> list = projectService.detailProject(projectVO.getProId());
model.addAttribute("list", list);
return "projectDetailForm";
}
detailProject에 projevtVO에 있는 ProId를 가져와서(get) 값을 넘겨줍니다.
해당 값을 넘겨받은 리스트를 list에 저장
다시 list란 이름으로 addAttribute 해줍니다.
projectList.jsp 수정 + projectDetailForm.jsp 추가
<tr>
<td>${item.proId}</td>
<td><a href="${path}/projectDetailForm.do?proId=${item.proId}">${item.proTitle}</a></td>
<td>${item.proDate}</td>
<td><a href="${path}/projectUpdateForm.do?proId=${item.proId}">수정</a></td>
<td><a href="${path}/projectDelete.do?proId=${item.proId}">삭제</a></td>
</tr>
이제 상세 페이지가 생겼으니 proBody(본문) 값은 지워줍니다.
Line 32 proTitle를 누르면 상세페이지로 이동
<body>
<h1>Project detail</h1>
<c:forEach var="item" items="${list}">
<tr>
<td>${item.proId}</td>
<td>${item.proTitle}</td>
<td>${item.proBody}</td>
<td>${item.proDate}</td>
<td><a href="${path}/projectUpdateForm.do?proId=${item.proId}">수정</a></td>
<td><a href="${path}/projectDelete.do?proId=${item.proId}">삭제</a></td>
</tr>
</c:forEach>
</body>
detail 페이지도 list 페이지와 같이 list를 item에 넣어 뿌려줍니다.
Test
Url을 보면 DetailForm으로 파라미터 값을 넘겨
2번째 게시글의 본문을 확인할 수 있습니다.
현재는 가독성이 너무 떨어지니
다음에는 Bootstrap를 이용해 홈페이지를 꾸며 보겠습니다.
참고 GitHub : github.com/integerJI/spring.git
'코딩공부 > Java Spring' 카테고리의 다른 글
spring 회원가입 기능 만들기 (0) | 2021.01.10 |
---|---|
[spring실습] 게시판 만들기 - 조회수 추가, Oracle 컬럼 추가, default, null 설정 (0) | 2021.01.02 |
[spring 실습] 게시판 만들기 - 글 삭제 기능 만들기 (0) | 2020.12.30 |
[spring 실습] 게시판 만들기 - 글 수정 기능 만들기 (0) | 2020.12.30 |
[spring 실습] 게시판 만들기 - 글 쓰기 기능 만들기 (0) | 2020.12.28 |