게시글 읽기 만들기
읽는다는 뜻은 글 제목을 클릭했을 때 내용을 보여준다는 뜻이 된다.
생각해보니 우리는 BoardVO에서 writer, num, title, content, regdate를 만들었지만
이 중에서 게시판에 보여준 것은 content를 제외한 데이터들이었다.
content는 글제목을 클릭했을 때 보여줄 용도로 사용하는 데이터이다.
읽기를 만들기 위해서 필요한 건, 맨 처음 게시판 만들기에서 우리가 만들었던 boardList.jsp 내용을 볼 필요가 있다.
boardList.jsp
<td><a href="/boardRead?num=${data.num}">${data.title}</a></td>
이 부분은 글제목에 링크를 붙일건데, 그 주소는 /boardRead?num= + 글번호로 만들어줄거다.
라고 명시를 하는 것이다. 즉 /boardRead는 controller로 연결되는 주소를 말하고
num은 파라미터로 사용할 것임을 뜻한다.
BoardController
1 2 3 4 5 6 7 | // 게시판 내용 읽기 @RequestMapping(value="/boardRead") public String boardRead(@RequestParam("num") int num, Model model) throws Exception { BoardVO data = boardService.boardRead(num); model.addAttribute("data", data); return "boardRead"; } | cs |
${data.num}에 상응하듯이 @RequestParam("num") int num가 써진 것을 볼 수 있다.
이렇게 하나의 값을 파라미터로 전달할 때 @RequestParam을 사용한다.
int num이라는 이름으로 받아서 service에 num을 통해 넘겨주면
그 번호에 맞는 내용을 가져오게 된다.
BoardService
1 2 3 4 | // 게시판 읽기 public BoardVO boardRead(int num) throws Exception { return boardMapper.boardRead(num); } | cs |
BoardMapper
1 2 | // 게시판 읽기 public BoardVO boardRead(int num) throws Exception; | cs |
BoardMapper.xml
1 2 3 4 5 | <select id="boardRead" resultType="BoardVO"> SELECT num, title, content, writer FROM hello_board WHERE num = #{num} </select> | cs |
mapper 쿼리에서도 마찬가지로 해당 번호가 일치하고 존재하는지 확인하고
내용을 끌어온다.
boardRead.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <html> <head> </head> <body> <h2>[게시판 내용]</h2> <form name="form" method="post"> <div>글번호<input name="num" readonly="readonly" value="${data.num}"></div> <div>제목<input name="title" readonly="readonly" value="${data.title}"></div> <div>내용<input name="content" readonly="readonly" value="${data.content}"></div> <div>작성자<input name="writer" readonly="readonly" value="${data.writer}"></div> </form> <button onclick="location.href='boardList'">목록</button> <button id="modify" onclick="location.href='boardModifyForm?num=${data.num}'">수정</button> <button id="delete" onclick="location.href='boardDelete?num=${data.num}'">삭제</button> <%-- <a href='<c:url value='/boardDelete?bno=${data.bno}'/>'>삭제</a> --%> <!-- 두가지 모두 가능 --> </body> </html> | cs |
해당 글을 클릭했을때 이런 그림이 나온다면 성공한 것이다.
'프로그래밍 > SpringBoot' 카테고리의 다른 글
[스프링 부트 게시판] 게시글 삭제 만들기 (0) | 2020.09.30 |
---|---|
[스프링 부트 게시판] 게시글 수정 만들기 (0) | 2020.09.30 |
[스프링 부트 게시판] 게시판 글쓰기 만들기 (0) | 2020.09.30 |
[스프링 부트 게시판] 게시판 리스트 페이징 처리 (0) | 2020.09.30 |
[스프링 부트 게시판] 게시판 리스트 만들기 (0) | 2020.09.30 |