이전 글에서 게시글 목록까지 구현하였고, 이제 게시글 목록에서 게시글을 클릭하여 내용을 볼 수 있는 페이지를 만드려고한다.
먼저 게시글을 보기위한 jsp 부터 작성해주도록 한다.
bbs_detail.jsp 작성
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>bbs_detail</title>
</head>
<body>
<table width=80% height=500px border=1 align=center>
<tr height=30px>
<td align="center" colspan="1">제목</td>
<td align="center" colspan="3"><c:out value="${detail.bbs_title}"/></td>
</tr>
<tr>
<td align="center" width=25%>작성자</td>
<td align="center" width=25%><c:out value="${detail.author}"/></td>
<td align="center" width=25%>작성일</td>
<td align="center" width=25%><c:out value="${detail.date}"/></td>
</tr>
<tr>
<td align="center" colspan="4">내 용</td>
</tr>
<tr height = 500px>
<td colspan="4"><c:out value="${detail.bbs_content}"/></td>
</tr>
</table>
</body>
</html>
BbsDao, BDao 수정
BbsDao와 BDao에 아래 메소드를 추가해준다.
public BbsDto detail(String bbs_id);
mapper/BDao.xml 수정
아래 쿼리문을 추가해준다.
<select id="detail" resultType="com.app.app.Dto.BbsDto">
SELECT *
FROM bbs
WHERE bbs_id = #{bbs_id}
</select>
위 쿼리문은 BbsController가 넘겨운 bbs_id를 통해 DB의 bbs테이블에서 해당 아이디를 가진 게시글을 BbsDto로 리턴해준다.
BbsController - bbs_detail 메소드 추가
@RequestMapping("/bbs/{bbs_id}")
public String bbs_detail(@PathVariable String bbs_id, Model model) {
BDao dao = sqlSession.getMapper(BDao.class);
BbsDto detail = dao.detail(bbs_id);
model.addAttribute("detail", detail);
return "bbs_detail";
}
위의 코드에서
@RequestMapping("/bbs/{bbs_id}")
public String bbs_detail(@PathVariable String bbs_id, Model model) {
위 부분은 url /bbs/뒤에 들어오는 게시글 번호를 변수로 사용할 수 있게 해준다.
ex) http://~/app/bbs/5 -> 게시글 번호가 5번인 게시글 조회
PathVariable로 지정된 {bbs_id}는 DB에서 게시글 조회를 위한 키 넘버로 쓰인다.
위와 같이 다 작성한 후 게시글 조회를 시도해보자.
위와 같이 나온다면 제대로 한 것이다.
'WEB > Spring' 카테고리의 다른 글
12) Spring - 게시글 삭제 (0) | 2019.11.19 |
---|---|
11) Spring - 게시글 수정 (0) | 2019.11.18 |
9) Spring - 게시글 목록 구현 (0) | 2019.11.01 |
8) Spring - 게시판 글쓰기 구현 (0) | 2019.10.12 |
7) Spring - 로그아웃 (0) | 2019.10.12 |