본문 바로가기

🌈 백엔드/스프링 MVC

바인딩 = 파라미터 수집

반응형
SMALL

 

 

[1] 바인딩


(1) 바인딩 Binding 

파라미터 수집 

파라미터를 변환해서 처리해야하는 경우 파라미터 수집이 필요하다 

 

(2) @InitBinder 

 

http://localhost/sample/student?name=aaa&age=10&title=h1&dueDate=2020-12-24 

조회시 

2020-12-24 를 Fri Jan 24 ...으로 변환하였다. 

 

(3) @DateTimeFormat 

 

 

[2] MVC의 모델 객체 


(1) Model 

컨트롤러에서 생성된 데이터를 JSP(view)에 담아서 전달하는 역할을 한다 

mvc는 모델을 이용하여 데이터를 전달한다 

컨트롤러에 전달된 데이터를 이용해서 추가적인 데이터를 가져와야할때 모델을 사용한다. 

메서드의 파라미터를 모델 타입으로 선언하게 되면 자동으로 모델타입의 객체를 생성한다 

 

(2) @ModelAttribute 

기본 자료형은 파라미터로 선언하더라도 결과적으로 파라미터를 전달하지는 못한다

dto는 자료를 담을수 있기 때문에 출력이 가능하다

@GetMapping("/sample")
public Stirng basic(SampleDto dto, int page) {

	log.info(dto);
	log.info(page);
	return "basic";
}

page도 파라미터를 담을려면 @ModelAttribute를 사용한다 

@GetMapping("/sample")
public Stirng basic(SampleDto dto, @MotelAttribute("page") int page) {

	log.info(dto);
	log.info(page);
	return "basic";
}

 

localhost:8080/sample?name=aaa&age=10&page=9 를 조회하였을때 

SampleDto에 없던 page 변수에도 파라미터를 담을수 있게 되어 

입력한 9가 조회된다 

 

(3) 일회성 값 전달 

보안을 위해 데이터를 전달할때 1회성으로만 전달하게끔 페이지, 사이트를 구성해야하는 경우에 사용한다 

rttr.addFlashAttribute("name","aaa");
	rttr.addFlashAttribute("age","10);
    	return "redirect:/";

 

반응형
LIST

'🌈 백엔드 > 스프링 MVC' 카테고리의 다른 글

스프링_ WebDataBinder & 데이터검증  (0) 2023.08.30
스프링_ WebDataBinder & 데이터변환  (0) 2023.08.29
스프링_DispatcherServlet  (0) 2023.08.29
스프링_예외처리  (2) 2023.08.28
스프링_세션과 서버 부담  (0) 2023.08.28