Model 객체에서 데이터를 view 페이지로 넘길 때, 데이터를 담는 방식이다.
model.addAttribute(String key, Object value)
데이터를 key-value 형태로 put해준다.
이렇게 전달된 데이터는 view 페이지에서 ${} 를 사용해 가져올 수 있다.
@RequestMapping이 부여된 메소드들은 Controller역할 메소드이다.
Controller는 Model을 이용해 데이터를 갖고오고, veiw에 데이터를 넘겨 적절한 view를 생성하는 역할을 한다.
Controller 파일에서
model.addAttribute(String name, Object value);
"name"이라는 이름으로 value 객체를 추가한다는 뜻이다.
예시
model.addAttribute("marketList", marketList);
"marketList"라는 이름으로 marketList 객체를 추가한다.
(view 페이지에서 불러올 때 이름을 헷갈리지 않기 위해 name과 value의 이름을 같게 지었다.)
위의 예시 코드 중 marketList라는 value는 등록되어있는 게시글을 전부 받아오는 객체이다.
이를 view 페이지에서 받아오려면
<c:forEach var="MarketVO" items="${marketList}">
<tr onclick="location.href='detail?marketId=${MarketVO.marketId }'">
<td>${MarketVO.marketId }</td>
<td>${MarketVO.marketTitle }</td>
<td>${MarketVO.marketLocal }</td>
<td>${MarketVO.marketReplyCount }</td>
</tr>
</c:forEach>
이런 식으로 ${} 와 forEach 구문을 사용해 등록되어있는 게시글을 전부 불러오고,
아이디/제목/지역/댓글수 를 출력할 수 있다.