본문 바로가기
Spring|Spring-boot

[Spring] 커맨드 객체 중첩 , 콜렉션 프로퍼티

by oncerun 2020. 6. 23.
반응형

스프링 MVC는 커맨드 객체가 List타입의 프로퍼티를 가졌거나  중첩 프로퍼티를 가진 경우에도 요청 파라미터의 값을 알맞게 코멘트 객체에 설정해주는 기능을 제공합니다.

 

규칙 1 : HTTP 요청 파라미터 이름이 "property [index]" 형식이면 List타입 프로퍼티의 값 목록으로 처리합니다.

규칙 2 : HTTP 요청 파라미터 이름이 "property.property" 형식이면 중첩 프로퍼티 값을 처리합니다.

 

예를 들면 

Member class안에 comment라는 property가 존재합니다.

public class Member(){

	private List<Comment> com;
}

요청 파라미터 이름으로 com [1], com [2] 전달하게 된다면 0,1번째 인덱스에 값으로 사용됩니다.

public class Member(){

	private Comment com;
}


public class Comment(){

	int id;
    String content;
}

위에 같은 경우에는 중첩 프로퍼티이며 파라미터 이름을 com.content로 지정할 시  커맨드 객체에 파라미터의 값을 설정합니다.

 

<h1>당신이 처음 건네는 인사말</h1>
<label><input type="radio" name"com[0]" value="안녕">안녕</label>
<label><input type="radio" name"com[0]" value="hi">hi</label>
<label><input type="radio" name"com[0]" value="안녕하세요">안녕하세요</label>

이러한 경우로 파라미터 값을 List 커맨드 객체에 값을 전달할 수 있으며

 

<input type="text" name="com.content">

로 중첩 프로퍼티의 값을 설정할 수 있다.

반응형

댓글