BoardController.java
@GetMapping("/board/list")
public String boardList(Model model){
model.addAttribute("list",boardService.boardList());
return "boardlist";
}
/board/list 로 url이 입력되면
boardList 메서드가 실행된다. boardList메서드는 model을 매개변수로받는다.
model.addAttribute("list", boardService.boardList());
addAttribute() 를 통해 model에 데이터를 담을것이다.
list객체에 boardService.boardList() 메서드를 실행하여 결과값을 담아준다.
findAll()이란 전체레코드를 불러와 준다.
BoardService.java
public List<Board> boardList() {
return boardRepository.findAll();
}
컨트롤러에 의해 요청이 완료되면
return "boardlist"에 의해 view단으로 결과값을 전달해준다.
BoardList.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>게시물 리스트 페이지</title>
</head>
<style>
.layout{
width : 500px;
margin : 0 auto;
margin-top : 40px;
}
</style>
<body>
<div class="layout">
<table>
<thead>
<tr>
<th>글 번호</th>
<th>제목</th>
</tr>
</thead>
<tbody>
<tr th:each="board : ${list}"> <!--컨트롤러에서 model(데이터베이스의 값) board의 값들을 list객체에 모두저장했다. 그 값들을 each 반복문을통해 board라는 변수에 하나씩 저장해준다.-->
<td th:text="${board.id}">1
</td>
<td th:text="${board.title}">제목입니다.
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
뷰단에서 body태그 안에
데이터베이스 내의 각각의 값들을 받아올것이다.
html 태그에 xmlns thymeleaf 속성을 추가하여 페이지에 동적으로 값을 추가하거나 처리해 줄수 있게해줬다.
body태그에 each(반복문)를 통해 list(컨트롤러에서 board테이블의 모든 데이터가담긴 객체)에 있는 하나하나 값들을
board변수에 넣고 하나씩 출력해준다.
결과