우선 MySQL로 가서
테스트 프로시저를 작성하자. 간단하게 테스트 데이터를 만든다.
게시글 리스트를 볼려면 어느 정도 글이 있어야 한다.
use board; 를 입력 해
데이터베이스 스키마를 사용한다고 선언부터 한 뒤
프로시저를 생성 후,
call testDataInsert(); 로 프로시저를 실행 하고,
insert * from board; 로 확인을 하자.
DELIMITER $$
CREATE PROCEDURE testDataInsert()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i <= 120 DO
INSERT INTO board(title, content)
VALUES(concat('제목',i), concat('내용',i));
SET i = i + 1;
END WHILE;
END$$
DELIMITER $$
=============
call testDataInsert();
BoardController에서 /board/list를 GetMapping 해 준 뒤,
BoardService로 가서, Board를 List에 담고 findAll(); 메서드를 반환해준다.
방금 전에 작성한 BoardController에서 boardList의 매개변수로 Model을 사용한다.
데이터를 담아서 우리가 보는 페이지로 보낼 수가 있게 된다.
model에 데이터를 담아야 하는데, 이 때 addAttribute() 메서드를 사용을 한다.
model.addAttribute(String name, Object value)
value 객체를 name이름으로 추가를 하고, View 코드에서는 name으로 지정한 이름을 통해서 value를 사용하게 된다.
Service와, Controller를 작성 했으니 이제 View를 작성을 해야 한다.
view는 thymeleaf를 사용을 한다.
<html lang="en" xmlns:th="http://www.thymeleaf.org">
html 태그 안에 저 코드를 작성해서 놓도록 하자.
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>게시물 리스트</title>
</head>
<style>
h2 {
text-align: center;
}
.layout {
width: 500px;
margin: 0 auto;
margin-top: 40px;
}
</style>
<body>
<h2>게시물 리스트</h2>
<div class="layout">
<table>
<thead>
<tr>
<th>글번호</th>
<th>제목</th>
</tr>
</thead>
<tbody>
<tr th:each="board : ${list}"> <!--each : 반복문 -->
<td th:text="${board.id}"></td>
<td th:text="${board.title}"></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
- th:each : 반복문. 리스트와 같은 collection 자료형을 서버에서 넘겨주면 그에 맞춰 반복적인 작업이 이뤄진다.
- 반복문 돌릴 객체의 변수형 : 리스트 변수 명 (ex. th:each="item: ${itemList}")
- th:text : 태그 안의 텍스트를 서버에서 전달 받은 값에 따라 표현하고자 할 때 사용된다.
- ex.<span th:text="${hello}">message</span>
- 이 경우 서버에서 hello라는 변수가 있을 경우 message의 자리를 변수값으로 대체한다.
문법은 엄청 많다. 검색 해서 찾아보자!
'Backend > SPRINGBOOT' 카테고리의 다른 글
[SpringBoot] 게시판 만들기 6. 게시글 수정 (0) | 2022.10.31 |
---|---|
[SpringBoot] 게시판 만들기 5. 게시글 삭제 (0) | 2022.10.31 |
[SpringBoot] 게시판 만들기 4. 게시글 상세 페이지 (0) | 2022.10.31 |
[SpringBoot] 게시판 만들기 2. 게시글 작성 (0) | 2022.10.31 |
[SpringBoot] 게시판 만들기 1. 프로젝트 생성 (0) | 2022.10.31 |