저번 장에서는 작성한 게시물들의 목록을 보여주는 게시물목록을 구현했습니다.

이번에는 각 게시물의  제목, 내용, 작성자가 누구인지 볼 수 있는 기능을 구현해보겠습니다.

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

+ Recent posts