본 게시물은 아래 링크를 정리한 내용입니다.
게시판 조회 기능
게시판 목록에서 제목을 클릭시 번호에 해당하는 내용을 보여주는 페이지를 띄워주는 것
PRIMARY KEY로 지정한 BNO를 통해 게시물을 조회할 것이다.
1. 제목 클릭시 해당 BNO 값을 통해 게시물 조회하는 쿼리를 BoardMapper.xml에 추가
<select id="read" parameterType="int" resultType="kr.co.vo.BoardVO">
SELECT BNO
, TITLE
, CONTENT
, WRITER
, REGDATE
FROM MP_BOARD
WHERE BNO = #{bno}
</select>
2. boardDAO.java에 코드 추가
// 게시물 조회
public BoardVO read(int bno) throws Exception;
3. BoardDAOImpl.java에 코드 추가
// 게시물 조회
@Override
public BoardVO read(int bno) throws Exception {
return sqlSession.selectOne("boardMapper.read", bno);
}
4. BoardService.java에 코드 추가
// 게시물 목록 조회
public BoardVO read(int bno) throws Exception;
5. BoardServiceImpl.java에 코드 추가
// 게시물 목록 조회
@Override
public BoardVO read(int bno) throws Exception {
return dao.read(bno);
}
6. BoardController.java에서 게시판 목록에 있는 BNO 값 불러오기
BNO 값들은 BoardVO에 들어있다.
때문에 서비스 실행시 클릭한 번호를 넣어주어 read 라는 이름으로 값을 저장한다.
// 게시판 조회
@RequestMapping(value = "/readView", method = RequestMethod.GET)
public String read(BoardVO boardVO, Model model) throws Exception{
logger.info("read");
model.addAttribute("read", service.read(boardVO.getBno()));
return "board/readView";
}
7. src/webapp/WEB_INF/views/board에 readView.jsp 파일을 만들고 다음 코드 추가
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<html>
<head>
<title>게시판</title>
</head>
<body>
<div id="root">
<header>
<h1> 게시판</h1>
</header>
<hr />
<nav>
홈 - 글 작성
</nav>
<hr />
<section id="container">
<form role="form" method="post">
<table>
<tbody>
<tr>
<td>
<label for="bno">글 번호</label><input type="text" id="bno" name="bno" value="${read.bno}"/>
</td>
</tr>
<tr>
<td>
<label for="title">제목</label><input type="text" id="title" name="title" value="${read.title}"/>
</td>
</tr>
<tr>
<td>
<label for="content">내용</label><textarea id="content" name="content"><c:out value="${read.content}" /></textarea>
</td>
</tr>
<tr>
<td>
<label for="writer">작성자</label><input type="text" id="writer" name="writer" value="${read.writer}" />
</td>
</tr>
<tr>
<td>
<label for="regdate">작성날짜</label>
<fmt:formatDate value="${read.regdate}" pattern="yyyy-MM-dd"/>
</td>
</tr>
</tbody>
</table>
</form>
</section>
<hr />
</div>
</body>
</html>
8. src/main/webapp/WEB_INF/views/board/list.jsp을 열고 코드를 수정한다.
<td>
<a href="/board/readView?bno=${list.bno}"><c:out value="${list.title}" /></a>
</td>
9. 확인하기
1) 서버 실행
2) localhost:8080/board/list 접속
3) 목록에 있는 제목 클릭
4) 아래와 같이 해당 내용 나오면 성공
'프로그래밍 > Spring' 카테고리의 다른 글
[게시판] 8. 게시판 다듬기 및 벨리데이션 체크 (0) | 2021.12.16 |
---|---|
[게시판] 7. 게시판 글 수정 및 삭제 (0) | 2021.12.14 |
[게시판] 5. 게시판 목록 기능 구현 (0) | 2021.12.11 |
Spring Framework (0) | 2021.12.11 |
[게시판] 4. 게시판 작성 기능 (0) | 2021.12.06 |