WEB/Spring
10) Spring - 게시글 보기 구현
migusdn
2019. 11. 1. 17:39
이전 글에서 게시글 목록까지 구현하였고, 이제 게시글 목록에서 게시글을 클릭하여 내용을 볼 수 있는 페이지를 만드려고한다.
먼저 게시글을 보기위한 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에서 게시글 조회를 위한 키 넘버로 쓰인다.
위와 같이 다 작성한 후 게시글 조회를 시도해보자.
위와 같이 나온다면 제대로 한 것이다.