spring-project

스프링에서 form submit 으로 가변(멀티) 데이터 받기

가는가래 2020. 1. 10. 02:43

form submit으로 정해지지 않은 수의 데이터를 받아야 할 경우가 있다. 

간단하게 말하면 화면에서는 같은 name으로 값들을 전달하고 서버에서는 배열로 받는다.

아래와 같은 경우.

item1 
item2 
item3
...... 
......

화면

  <div class="form-group row">
    <label for="title" class="col-sm-2 col-form-label">체크리스트 항목</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="checkItem" placeholder="체크리스트 항목을 입력하세요.">
    </div>
  </div>
  
  <div class="form-group row">
    <label for="title" class="col-sm-2 col-form-label">체크리스트 항목</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="checkItem" placeholder="체크리스트 항목을 입력하세요.">
    </div>
  </div>
  
  <div class="form-group row">
    <label for="title" class="col-sm-2 col-form-label">체크리스트 항목</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="checkItem" placeholder="체크리스트 항목을 입력하세요.">
    </div>
  </div>

서버

@RequestMapping(value = "/checkListRegister", method = RequestMethod.POST)
	public String checkListRegister(Locale locale, Model mode, CheckList checkList) {
		
		log.debug(checkList.toString());
		
		return "/checklist/checkList";
}

 

public class CheckList {
    private String[] checkItem;

    public String[] getCheckItem() {
        return checkItem;
    }

    public void setCheckItem(String[] checkItem) {
        this.checkItem = checkItem;
    }
}