봉봉의 개인 블로그
2019-06-25 [카테고리 미분류](Spring MVC Model, ModelAndView 사용) 본문
Spring MVC 컨트롤러 (Controller)
기본적 흐름은
client 가 요청을 하면, @Controller 에 진입한다.
컨트롤러는 요청에 대한 작업을 수행하고,
뷰쪽으로 데이터를 전달
컨트롤러(Controller)
- @Controller를 이용해서 클래스 생성.
- @RequestMapping을 이용, View의 요청 경로 지정.
- 요청 처리 Method 구현.
- View name return
예를 들어
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
@controller
public class HomeController {
//View Reqeust 경로 지정
puvlic String home(Locale locale, Model model){
// 로직 수행
logger.info("Hello Home! The Client locale is {}", locale);
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
//Model 객체 이용, View로 Data 전달
model.addAttribute("serverTime",formattedDate)
return "home"; // View File return
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
Model 객체 사용법
Model 객체를 파라미터로 받아서 데이터를 View로 넘길수 있다.
1
2
3
4
5
6
7
|
@RequestMapping("/board/view")
public String view(Model model){
Model.addAttribute("id","id1234");
return "board/view";
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
Model 객체를 파라미터로 받는다.
model.addAttribute("변수이름","변수에 넣을 데이터값");
model.addAttribute 를 이용, 넘길 데이터의 이름과 값을 넣음
그러면 spring 은 그 값을 view 쪽으로 넘겨줌.
view.jsp 파일에서 ${변수이름}을 이용해서 값을 가져온다.
예를들어,
당신의 ID는 ${id}입니다.
ModelAndView 객체 사용법
Model 객체와 크게 다르지 않음.
1
2
3
4
5
6
7
8
9
10
|
@RequestMapping("/board/content")
public ModelAndView content() {
//data 와 View 설정이 가능
ModelAndView mv = new ModelAndView();
mv.setViewName("/board/content"); // View Name
mv.addObjet("data","12341234"); // View Response Data
return mv;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
반환값으로 ModelAndView 객체를 반환
ModelAndView 오버로딩
- ModelAndView
- ModelAndView(String viewName)
- ModelAndView(String viewName, HttpStatus status)
- ModelAndView(String viewName, Map<String, ?> model)
- ModelAndView(String viewName, Map<String, ?> model, HttpStatus Status)
- ModelAndView(String viewName, String modelName, Object modelObject)
- ModelAndView(View view)
- ModelAndView(View view, Map<String, ?> model)
- ModelAndView(View view, String modelName, Object modelObject)
ModelAndView Method
- addAllObjects(Map<String, ?> modelMap)
- addObject(Object attributeValue)
- addObject(String attibuteName, Object attributeValue)
- clear()
- getModel()
- getModelInternal()
- getModelMap()
- getStatus()
- getView()
- getViewName()
- hasView()
- isEmpty()
- isReference()
- setStatus(HttpStatus status)
- setView(View view)
- setViewName(String viewName)
- toString()
- wasCleared()
-출처
Comments