vo list / form list / @ModelAttribute list / list로 받기 | spring
2016. 1. 5. 16:24ㆍframework/spring
VO를 사용할 때 List Type 을 사용하여
여러 FormTag를 리스트(배열)로 받는 예제이다.
한 Form 에서 전송할 때 보통은 VO 를 하나만 매칭시켜서 Controller 에서 받는다.
근데 나는 한 Form 에서 전송하고 Controller 에서 VO 를 리스트로 받아야 하는 경우가 생겼다.
예를 들어
public class NameVO{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
|
cs |
와 같은 VO 객체가 있고
<form:form commandName="NameVO" name="dataForm" id="dataForm" >
<form:input path="name" value="홍길동"/>
<form:input path="name" value="김길동"/>
<form:input path="name" value="강길동"/>
</form:form>
|
cs |
와 같은 구조의 FORM 이 있는데
이 FORM 을 전송 할 경우
그냥 전송해 버리면 NameVO의 Name에는 "홍길동,김길동,강길동" 이 들어있다.
split 으로 잘라서 써도 되지만 조금 더 나은 방법으로 아예 List 로 받아버리자
public class NameVO{
private String name;
private List<NameVO> nameVOList;
public List<NameVO> getNameVOList() {
return nameVOList;
}
public void setNameVOList(List<NameVO> nameVOList) {
this.nameVOList = nameVOList;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
|
cs |
위와 같이 자신을 참조하는 List 와 getter/setter 를 생성하고
<form:form commandName="NameVO" name="dataForm" id="dataForm" >
<input type="text" name="nameVOList[0].name" >
<input type="text" name="nameVOList[1].name" >
<input type="text" name="nameVOList[2].name" >
</form:form>
|
cs |
이와 같이 리스트 번호와 그 리스트에 담을 name값을 정해주면
NameVO 객체 안에 nameVOList 에 순차적으로 VO 의 name에 담겨있음을 확인할 수 있다.
'framework > spring' 카테고리의 다른 글
SPRING @Async를 활용한 multi thread 구현 - 2 - AsyncConfigurer 생성 (0) | 2017.07.11 |
---|---|
SPRING @Async를 활용한 multi thread 구현 - 1 - 개요 (0) | 2017.07.11 |
spring excel csv download 하기 / super-csv jar 사용하기 / AbstractView (0) | 2017.06.30 |
Security 로그인 후 이전페이지 가기 | spring (4) | 2016.01.05 |
특정 JAVA , JSP 에서 Bean 객체 가져오기 | spring (0) | 2016.01.05 |
메일 보내기 / mail sample | spring (0) | 2016.01.05 |
@ResponseBody / ajax / 아작스 / messageConverters | spring (0) | 2016.01.05 |
스케줄러 / scheduler | spring (0) | 2016.01.05 |
interceptor / 인터셉터 / 회원정보 체크 / 로그인 체크 | spring (0) | 2016.01.05 |
spring form tag (0) | 2016.01.05 |