스터디📖/Spring

4. 설정 및 구현 - 7

호프 2021. 7. 15. 19:21

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC_renew/dashboard

 

자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌 - 인프런 | 강의

스프링 프레임워크 기본부터 실전 사용법까지! 충실하고 폭넓은 설명과 예제를 통해 현장에 바로 투입되어 활약하는 개발자로 거듭나세요., 자바 스프링 프레임워크로 내 개발자 커리어에 봄이

www.inflearn.com

섹션 4. 설정 및 구현

19강 Controller 객체 구현 - 2

19-1 @ModelAttribute

@ModelAttribute를 이용하면 커멘드 객체의 이름을 변경할 수 있고, 이렇게 변경된 이름은 뷰에서 커멘드 객체를 참조할 때 사용된다
@ModelAttribute 적용된 메소드는 다른 메소드가 호출 될 때 항상 같이 호출 됨.

19-2 커맨드 객체 프로퍼티 데이터 타입

데이터가 기초데이터 타입인 경우

데이터가 중첩 커멘드 객체을 이용한 List 구조인 경우

19-3 Model & ModelAndView

Model: 뷰에 데이터만을 전달하기 위한 객체

@RequestMapping(value = "/memModify", method = RequestMethod.POST)
public String memModify(Model model, Member member) {
	Member[] members = service.memberModify(member);
    
	model.addAttribute("memBef", members[0]);
	model.addAttribute("memAft", members[1]);
    
	return "memModifyOk";
}
---------------------------------------------------------------------
//memModifyOk.jsp
ID : ${memBef.memId}
ID : ${memAft.memId}

ModelAndView: 데이터와 뷰의 이름을 함께 전달하는 객체

@RequestMapping(value = "/memModify", method = RequestMethod.POST)
public ModelAndView memModify(Member member) {
	Member[] members = service.memberModify(member);
    
	ModelAndView mav = new ModelAndView();
    
	mav.addObject("memBef", members[0]);
	mav.addObject("memAft", members[1]);
	mav.setViewName("memModifyOk");
    
	return mav;
}