저번 장에서는 작성한 게시물들의 목록을 보여주는 게시물목록을 구현했습니다.
이번에는 각 게시물의 제목, 내용, 작성자가 누구인지 볼 수 있는 기능을 구현해보겠습니다.
BoardController에 read메서드를 만들고 해당 view를 만들어보겠습니다.
read 기능 추가
저번장에서 listAll.jsp에서 title에 ‘/board/read?board_number=글번호’ 링크를 걸었는데 title을 누르면 조회를 담당하는 BoardController 메소드 read를 호출되게 구현하겠습니다.
read 메서드는 글번호에 따라 데이터를 가져와야 함으로 board_number를 매개변수로 받아야 합니다.
이제 read메서드를 추가하겠습니다.
@RequestMapping(value = "/read", method = RequestMethod.GET)
public void read(@RequestParam("board_number") Integer board_number, Model model) throws Exception{
logger.info("read GET!!!");
BoardVO board = service.read(board_number);
model.addAttribute("BoardVO", board);
}
여기서 잠깐 설명을 하자면
read 메서드의 파라미터로 @RequestParam("board_number") Integer board_number 부분이 있는데요
이렇게 하는이유는 2가지로 설명하겠습니다.
1. 파라미터의 값과 이름을 함께 전달하는 방식으로 게시판등에서 페이지 및 검색 정보를 함께 전달하는 방식을 사용할 때
2.. listAll.jsp에서 /read?board_number=1와 같이 url이 전달될 때 board_number 파라미터를 받아오게되는데요
@RequestParam 어노테이션의 괄호 안의 경우는 전달인자 이름(실제 값)입니다.
이와 같이 파라미터값을 가져올 때 사용합니다!
read VIEW 구현
view/board 폴더에 read.jsp를 생성하겠습니다.
추가로 다른 게시판등에서도 사용되는 수정, 삭제를 위해 버튼과 목록으로 돌아가는 버튼을 추가하겠습니다.
코드는 register.jsp에 있는 코드를 복사해서 붙여넣기 해서 <input> 태그의 value속성으로 데이터를 가져와서 뿌리겠습니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판</title>
</head>
<body>
<div>글번호 : ${BoardVO.board_number}</div>
<div>
<button type="button" onclick="location.href='listAll' ">목록</button>
<button><a href="/board/update?board_number=${boardVO.board_number}">수정</a></button>
<button><a href="/board/delete?board_number=${boardVO.board_number}">삭제</a></button>
</div>
<div>
<div>
<label for="title">제목</label>
<input type="text" id="title" name="title" value="${BoardVO.title}" readonly="readonly"/>
</div>
<div>
<label for="contents">내용</label>
<textarea name="contents" id="contents" rows="3" readonly="readonly">${BoardVO.contents}</textarea>
</div>
<div>
<label for="name">작성자</label>
<input type="text" name="name" id="name" value="${BoardVO.name}" readonly="readonly"/>
</div>
</div>
<div>
<button type="submit">등록</button>
</div>
</body>
</html>
이제 listAll페이지에서 게시물 제목을 클릭해보겠습니다.
데이터가 정상적으로 잘나오는 것을 확인했습니다.
이제 생성한 수정, 삭제 버튼을 구현해야겠죠?
다음 장에서 구현하겠습니다!!!
'JAVA > blog' 카테고리의 다른 글
페이징 처리(1) (0) | 2020.07.11 |
---|---|
게시글 삭제, 수정 기능 추가 (0) | 2020.07.09 |
게시글 목록 구현 (0) | 2020.07.09 |
controller redirect (0) | 2020.07.09 |
controller 구현 (0) | 2020.07.08 |