2014년 8월 18일 월요일

[스프링웹MVC, 오라클자바커뮤니티스프링프레임워크실무교육]Spring MVC(@ModelAttribute, @SessionAttibutes를 이용한 컨트롤러 메소드 매핑예)

[스프링웹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)자바,네트워크,웹&스프링

댓글 없음:

댓글 쓰기