봉봉의 개인 블로그

2019-06-25 [카테고리 미분류](Spring MVC Model, ModelAndView 사용) 본문

카테고리 없음

2019-06-25 [카테고리 미분류](Spring MVC Model, ModelAndView 사용)

봉봉이네 2019. 6. 25. 13:54

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 경로 지정
    @ReqeustMapping(value = "/", method = RequestMethod.GET)
    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()

 

 

-출처

https://hongku.tistory.com/116

 

SpringMVC :: 컨트롤러(Controller), Model, ModelAndView 사용법

스프링 MVC 컨트롤러 (Controller) 기본적인 흐름은 client가 요청을 하면, @Controller에 진입한다. 컨트롤러는 요청에 대한 작업을 수행하고, 뷰쪽으로 데이터를 전달한다. 컨트롤러 클래스 제작 순서 @Controll..

hongku.tistory.com

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/ModelAndView.html

Comments