
Model 객체는 Controller에서 생성된 데이터를 View로 전달할 때 사용하는 객체다. 그럼 전달하는 방법은?
전달하는 방법은 이 외에도 있고
addAttribute()의 다른 사용법도 있지만 그것은 다음에 알아보도록하자 😅
: value 객체를 name 이름으로 추가해줌
: View에서 name으로 지정된 value를 사용
//게시글 리스트 처리
public List<Board> boardList(){
return boardRepository.findAll();
}
@GetMapping("/board/list")
public String boardList(Model model){
model.addAttribute("list", boardService.boardList());
return "boardlist";
}
: boardService.boardList() 를 value로 "list"를 name으로 전달
: boardList()에서 boardRepository를 활용하여 board객체의 정보 전달
public class Board {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String title;
private String content;
}
<tr th:each="board : ${list}">
<td th:text="${board.id}"></td>
<td>
<a th:text="${board.title}" th:href="@{/board/view(id=${board.id})}">
</a>
</td>
</tr>
: th:each="board : ${list}" 으로 변수 : 컬렉션 을 반복

글번호(board.id) : 제목(board.title)을 반복하여 게시판을 구현함. 하나의 게시글마다 하나의 객체라고 생각하면된다.