model에 데이터를 담을 때 addAttribute() 메소드를 사용하며 2가지 방법이 있다.
Model addAttribute(String name, Object value)
value 객체를 name 이름으로 추가한다.
뷰 코드에서는 name으로 지정한 이름을 통해 value를 사용한다.
@RequestMapping(value = "/standardCd/selectInfo.do")
public String selectInfo(ModelMap model) throws Exception {
List<StandardCodeVO> list = standardCodeService.selectInfo();
model.addAttribute("row", list);
return "jsonView"; //model에 담은 데이터를 json화 한다고 생각하면 편하다(bean에 jsonview 선언)
}
Model addAttribute(Object value)
value를 추가한다. value의 패키지 이름을 제외한 단순 클래스 이름을 모델 이름으로 사용
이때 첫 글자는 소문자로 처리한다
value가 배열이거나 컬렉션인 경우 첫 번째 원소의 클래스 이름 뒤에 "List"를 붙인 것을 모델 이름으로
사용한다. 이 경우도 클래스 이름의 첫자는 소문자로 처리한다.
@ModelAttribute("key")
@ModelAttribute어노테이션이 부여된 메소드가 리턴하는 객체를 view로 바로 넘겨 사용 가능
@Controller 클래스안의 매핑되는 모든 URL에게 공통적으로 넘겨주어야할 데이터가 있을 때 사용
참고
https://devlogofchris.tistory.com/53
https://galid1.tistory.com/504
'Back End > Spring' 카테고리의 다른 글
[Spring] addAttribute() 메소드 (0) | 2022.12.11 |
---|