[Spring] model.addAttribute() 사용법

이신영·2023년 3월 6일
post-thumbnail

Model 객체는 Controller에서 생성된 데이터를 View로 전달할 때 사용하는 객체다. 그럼 전달하는 방법은?


model.addAttribute() 사용법

전달하는 방법은 이 외에도 있고 addAttribute()의 다른 사용법도 있지만 그것은 다음에 알아보도록하자 😅

addAttribute(String name, Object value)

: value 객체를 name 이름으로 추가해줌
: View에서 name으로 지정된 value를 사용

boardService.java

    //게시글 리스트 처리
    public List<Board> boardList(){
        return boardRepository.findAll();
    }

boardController.java

    @GetMapping("/board/list")
    public String boardList(Model model){
        model.addAttribute("list", boardService.boardList());
        return "boardlist";
    }

: boardService.boardList() 를 value로 "list"를 name으로 전달
: boardList()에서 boardRepository를 활용하여 board객체의 정보 전달

board.java

public class Board {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    private String title;

    private String content;

}

boardlist.html

    <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)을 반복하여 게시판을 구현함. 하나의 게시글마다 하나의 객체라고 생각하면된다.

profile
후회하지 않는 사람이 되자 🔥

0개의 댓글