[스프링웹MVC, 오라클자바커뮤니티스프링프레임워크실무교육]Spring MVC(@ModelAttribute, @SessionAttibutes를 이용한 컨트롤러 메소드 매핑예)
@Controller
public class OracleJavaController {
@ModelAttribute(“user")
public User getUser() {
return myService.getUser();
}
@RequestMapping(value=“/user.htm", method=RequestMethod.GET)
public ModelAndView handleRequest() {
return new ModelAndView(“userview");
}
}
getUser()에서 리턴하는 User Type의 객체를 "user"라는 키값으로 Model에 추가하고 이를 userview라는 이름의 뷰에서는 request속성으로부터 “user”라는 키값으로 접근이 가능하다.
@Controller
public class OracleJavaController {
@ModelAttribute(“user")
public User getUser() {
return myService.getUser();
}
@RequestMapping(value=“/user.htm", method=RequestMethod.GET)
public ModelAndView handleRequest(@ModelAttribute(“user”) User user) {
user.setName(“onj”);
return new ModelAndView(“userview");
}
}
먼저 getUser()가 실행되고 그 리턴되는 결과(“User Type의 객체”)가 "user"라는 키값으로 임시맵에 저장되고 그 값은 handleRequest() 메소드에 인자로 전달된다. 그리고 “user” 객체는 view에서의 사용을 위해 Model에 추가된다.
@Controller
@SessionAttributes(“user”)
public class OracleJavaController {
@RequestMapping(value=“/user.htm", method=RequestMethod.GET)
public ModelAndView handleRequest(@ModelAttribute(“user”) User user) {
user.setName(“onj”);
return new ModelAndView(“userview");
}
}
스프링은 “user”라는 이름의 객체를 세션에서 검색하고 handleRequest() 메소드에 전달한다. 만약 세션에서 찾지 못한다면 HttpSessionRequiredException 예외가 발생된다.
@Controller
public class OracleJavaController {
@RequestMapping(value=“/user.htm", method=RequestMethod.GET)
public ModelAndView handleRequest(@ModelAttribute(“user”) User user) {
user.setName(“onj”);
return new ModelAndView(“userview");
}
}
User의 새로운 인스턴스가 생성되고 handleRequest() 메소드의 인자로 전달된다. 만약 User Type이 인터페이스나 추상클래스라면 BeanInstantiationException 예외가 발생된다.
평일주간[100%환급과정]
(8/25)C#4.0,WinForm,ADO.NET(8/25)안드로이드개발자과정
(8/25)SQL기초에서 Schema Object까지
(8/29)Spring,MyBatis,Hibernate실무과정
(8/29)자바기초JDBC,Servlet/JSP까지
(8/29)PL/SQL,ORACLE HINT,TUNING
(8/25)오라클자바채용확정교육
평일야간[개인80%환급]
(8/21)Spring, MyBatis, Hibernate
(8/21)HTML5,CSS3,Ajax,jQuery마스터
(8/21)C#,Network,ADO.NET,ASP.NET
(8/26)SQL기초에서실무까지
(8/26)안드로이드개발자과정
(8/28)자바JSP,jQuery,Spring,MyBatis
주말주간[개인80%환급]
(8/23)자바웹&스프링,마이바티스
(8/23)Spring, MyBatis, Hibernate
(8/23)SQL기초에서실무까지
(8/23)자바,네트워크,웹&스프링
(8/30)안드로이드개발자과정
(8/30)C#,ASP.NET마스터(8/30)웹퍼블리싱 마스터
주말야간[개인80%환급]
(8/23)SQL기초에서실무까지
(8/23)자바,네트워크,웹&스프링
댓글 없음:
댓글 쓰기