본문 바로가기
개발 수업/Spring

[spring] model을 전달하는 방법 2가지/ModelAndView ,setViewName

by 오늘 하루s 2023. 8. 8.
728x90
더보기

Day71. 230808

model을 전달하는 방법 2가지

방법1.

매개변수에 Model인터페이스타입의 참조변수 선언 후 

요청메서드 내부에서 참조변수명.addAttribute(String속성명, Object값); 하여 view에게 model전달하는 방식

 

방법2.

 매개변수에 @ModelAttribute("속성명") 타입 매개변수명 선언하여 view에게 model전달하는 방식

 

@RequestMapping("/modelTest1")
	public String modelTest1(
						Model model,
						@ModelAttribute("am5") TestDTO t) {
        //방법2.
		t.setUserName("@모델attribute에서 설정한 유저명");
        
        //방법1.
		//model.addAttribute(String속성명, Object값);
		model.addAttribute("am3", "스프링프레임워크의 Model객체이용");
        
        return "modelTest1";
        }

 


스프링에서는 ModelAndView mv = new ModelAndView();이렇게 객체를 선언하지 않아도 실행된다.(의존성 주입)

 

addObject로 Model작업을 해주고 setViewName으로 View를 지정해주면

http://localhost:8081/app/modelViewTest2 이렇게 요청했지만

요청주소가 http://localhost:8081/app/form01?mav2=수업중 이렇게 바뀐다.(sendRedirect)

 

ModelAndView참조변수명.setViewName("redirect:요청주소")에 파라미터의 값을 넘겨 줄 수도 있다.

728x90