※ Model 인터페이스의 주요 메소드 (org.springframework.ui.Model)
Model addAttribute(String name, Object value) |
value 객체를 name 이름으로 추가 |
Model addAttribute(Object value) |
value를 추가. value의 패키지 이름을 제외한 단순 클래스 이름을 모델 이름으로 사용(첫 글자는 소문자). value가 배열이거나 콜렉션인 경우 첫 번째 원소의 클래스 이름 뒤에 "List"를 붙인 걸 모델 이름으로 사용(첫 글자는 소문자) |
Model addAllAttributes(Collection<?> values) |
addAttribute(Object value) 메소드를 이용해서 콜렌션에 포함된 객체들을 차례대로 추가 |
Model addAllAttributes(Map<String, ?>, attributes) |
Map에 포함된 <키, 값>에 대해 키를 모델 이름으로 사용해서 값을 모델로 추가 |
Model mergeAttributes(Map<String, ?>, attributes> |
Map에 포함된 <키, 값>을 현재 모델에 추가. 단 키와 동일한 이름을 갖는 모델 객체가 존재하지 않는 경우에만 추가 |
boolean containsAttributes(String name) |
지정한 이름의 모델 객체를 포함하고 있는 경우 true 리턴 |
HelloController.java
package sp.mvc.controller; import org.springframework.stereotype.Controller;
@Controller
//param : Model |
main_config.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" <context:annotation-config/> |
hello.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
결과 - param : Model
요청 URL http://localhost:8090/spring303/hello1.sp?name=snoopy1
----- HelloController.userInfo1() ----- |
|
결과 - param : ModelMap
요청 URL http://localhost:8090/spring303/hello2.sp?name=snoopy2
----- HelloController.userInfo2() ----- |
|
결과 - return : Model
요청 URL http://localhost:8090/spring303/hello3.sp?name=snoopy3
----- HelloController.userInfo3() ----- |
|
[참고자료] Spring 3.0 프로그래밍-최범균
'프로그램 > Spring 3.0' 카테고리의 다른 글
@ModelAttribute 어노테이션 (2) | 2012.05.16 |
---|---|
ModelAndView를 통한 모델 설정 (0) | 2012.05.16 |
뷰에 모델(Model) 전달 (3) | 2012.05.16 |
뷰 이름 자동 지정, 리다이렉트 뷰 (0) | 2012.05.15 |
뷰 이름 명시적 지정 : ModelAndView, String 리턴 타입 (0) | 2012.05.15 |