다음 약속만 지켜주면 controller에서 전달된 form 데이터를 쉽게 처리할 수 있다.
controller에서 전달받을 데이터를 클래스로 만들어둔다.
front쪽에서 form 속성 중 name
값에 1번에서 만든 클래스의 변수 이름을 지정해준다.
List
타입으로 잡아주고, name
값에 class_var[0]
이런식으로 index를 넣어준다.예를들어 로그인 데이터인 경우,
class LoginParam {
String id;
String passwd;
}
이렇게 클래스를 만들어두고
<input name="id"...>
<input name="passwd"..>
이렇게 front쪽에서는 name값과 class 변수값을 맞춰준다.
그리고 controller에서는 다음과 같이 파라미터로 받기만 하면 땡!
public void login(LoginParam param) {
String id = param.getId();
String passwd = param.getPasswd();
...
}
이렇게 해줌으로써 직접 전달된 form 데이터를 일일이 추출하는 작업이 필요없어진다.
List 타입인 경우에도 알아서 값이 채워지므로 편하게 사용할 수 있겠다.
더불어 int, boolean 값에 대한 자동 캐스팅도 해주는데, 체크박스 같은 경우 체크유무가 boolean 타입과 맞기 때문에
class 변수에 boolean checked 처럼 변수를 잡아주고, 체크박스 name 속성 값을 "checked"로 지정해주면 이 역시 자동변환 해준다.