[오라클자바커뮤니티스프링교육학원,실무spring]스프링 메소드 파라미터(@ModelAttribute, @MVC, Spring Web MVC)
@ModelAttribute : HTTP요청(Request) 파라미터 값들을 자동으로 지정한 모델객체에 넣어준다.
@RequestParam으로 하나씩 받아서 처리하는 것보다 효율적이다.
즉 클라이언트에서 요청 파라미터로 넘기는 값들이 지정한 @ModelAttribute로 지정한 객체에 자동 바인딩 되며 바인딩된 객체는 view에 리턴해 주지 않아도 사용 가능하다.
@ModelAttribute를 다른말로 Command 객체라고도 한다.
주로 매개변수 앞에 사용되지만 메소드 레벨에서 메소드 위에 사용될 수도 있는데 이 경우 그 메소드에서 리턴하는 자바객체를 view단 에서 사용 가능하다.
public class OracleJavaCommunity{ //search 에서 연결될 모델
String name;
int age;
//Client Form 태그내에 <input name="name" type="text"/> 에 대응
public void setName(String name) { this.name = name; }
//Client Form 태그내에 <input name="age" type="text"/> 에 대응
public void setAge(int age) { this.age = age; }
}
@RequestMapping("/ojc",method=RequestMethod.GET)
public String subject(@ModelAttribute OracleJavaCommunity ojc, Model model){
List<User> list = onjService.dispSubject(ojc);
model.addAttribute("list",list);
}
위 메소드를 자바 서블릿형태로 변환 한다면 대략 다음과 같을 것이다.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
OracleJavaCommunity ojc = new OracleJavaCommunity();
ojc.setName(name);
ojc.setAge(age);
................
}
평일주간[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)자바,네트워크,웹&스프링
댓글 없음:
댓글 쓰기