[Spring] 커맨드객체 사용방법#1
- 웹/Spring
- 2020. 10. 26.
스프링에서 HTTP 전송 데이터를 받아오는 방법은 getParameter를 사용해서 받아오거나 @RequestParam이라는
어노테이션을 사용하여 받아올 수 있습니다.
위의 방법은 데이터의 속성들이 적다면 큰 문제가 생기지 않지만 굉장히 많은 속성을 처리하기엔 현실적으로 불가능합니다. 그래서 스프링에서는 커맨드 객체를 지원해서 각체 자체의 속성값을 커맨드 객체에 바인딩하여 처리할 수 있게 해주었습니다.
사용예시
Member VO
package com.co.mvc03;
public class Member {
private String name;
private String id;
private String pw;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPw() {
return pw;
}
public void setPw(String pw) {
this.pw = pw;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
기존 방식
@RequestMapping("/join")
public String confirmId(HttpServletRequest request, Model model) {
Member member = new Member();
String name = request.getParameter("name");
String id = request.getParameter("id");
String pw = request.getParameter("pw");
String email = request.getParameter("email");
member.setName(request.getParameter("name"));
member.setId(request.getParameter("id"));
member.setPw(request.getParameter("pw"));
member.setEmail(request.getParameter("email"));
model.addAttribute("member", member);
return "member/join";
}
기존 방식은 속성 하나하나 값을 받고, 저장하고 굉장히 번거롭게 작업을 해야 합니다. 위의 코드를 굉장히 간결하게 표현할 수 있습니다.
커맨드객체 사용
@RequestMapping("/join")
public String confirmId(Member member) {
return "member/join";
}
매개변수에 HttpServletRequest 혹은 @RequestParam을 사용하지 않고 Member 객체하나만 넘겨주면 각 속성값들을 자동으로 커맨드 객체에 바인딩을하여 처리해줍니다.
jsp에서 값 출력
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
join.jsp<br>
이름 : ${member.name }<br>
아이디 : ${member.id }<br>
비번 : ${member.pw }<br>
메일 : ${member.email}
</body>
</html>
커맨드객체를 사용하면 그냥 ${name}, ${id}형식이 아닌 ${member.name}과 같이 객체를 앞에 붙혀야합니다.
${member.name}은 <%=member.getName()> 과 같은 기능입니다.
'웹 > Spring' 카테고리의 다른 글
[Spring] Redirect로 페이지 넘기기 (0) | 2020.10.26 |
---|---|
[Spring] 커맨드 객체 사용방법#2 (0) | 2020.10.26 |
[Spring] get/post방식으로 데이터 전송하기 (0) | 2020.10.26 |
[Spring] 스프링 웹(jsp)에 데이터출력하기#3 (0) | 2020.10.26 |
[Spring] 스프링 웹(jsp)에 데이터출력하기#2 (0) | 2020.10.23 |