2017-02-20 32 views
0

Я хочу опубликовать список строк для моего контроллера. Но он всегда принимает только первое выбранное значение.Весенняя обувь с тимелеафским списком сообщений

мой thymeleaf HTML форма:

<form action="/add" method="post"> 
    <div class="form-group"> 
     <label for="roleId">ID</label> <input type="text" class="form-control" id="roleId" name="id" required="required" /> 
    </div> 
    <div class="form-group"> 
     <label for="rolePrivileges">Privileges</label> 
     <select class="form-control" id="rolePrivileges" name="privileges" multiple="multiple" size="10" required="required"> 
      <option th:each="type : ${privilegesList}" th:value="${type}" th:text="${type}">Privilege</option> 
     </select> 
    </div> 
    <button type="submit" class="btn btn-default">Create</button> 
</form> 

мой контроллер:

@RequestMapping(value = "/add", method = RequestMethod.POST) 
public String addSomething(Model model, @ModelAttribute("id") String id, 
     @ModelAttribute("privileges") List<String> privileges) { 
    // add something with a service 
    return "redirect:/roles"; 
} 
+1

Попробуйте использовать '@ RequestParam' вместо' @ ModelAttribute' –

+0

спасибо, что это работает! – silb78

+0

Томас Павлицкий избил меня на несколько минут, вы должны подтвердить его ответ. –

ответ

3

Я думаю, вы должны аннотировать privilges с

@RequestParam("privileges") 

Это не ModelAttribute, но вы получите он по запросу

Редактировать: два потока SO, чтобы лучше понять разницу между @RequestParam и @ModelAttribute.

 Смежные вопросы

  • Нет связанных вопросов^_^