2016-06-22 4 views
1

Как описано в описании, с помощью thymeleaf я отображает содержимое списка, а затем я помещаю кнопки «Обновить» рядом с каждым элементом в списке, который отправляет конкретный объект в форму редактирования стр.Возьмите объект из списка и перейдите к другому методу

Вот метод управления для добавления списка в списке:

@RequestMapping("/list") 
    public String list(Model model){ 
     List<Employee> employees = repository.findAll(); 
     model.addAttribute("employees", employees); 
     return "list"; 
    } 

А вот thymeleaf HTML код:

<tr th:each="emp : ${employees}"> 
      <td th:text="${emp.id}"></td> 
      <td th:text="${emp.name}"></td> 
      <td th:text="${emp.surname}"></td> 
      <td th:text="${emp.age}"></td> 
      <td th:text="${emp.department}"></td> 
      <td> 
       <form th:action="@{/update}" method = "POST" th:object="${emp}"> 
        <input type="hidden" th:field="*{id}"></input> 
        <input type="hidden" th:field="*{name}" ></input> 
        <input type="hidden" th:field="*{surname}"></input> 
        <input type="hidden" th:field="*{age}"></input> 
        <input type="hidden" th:field="*{department}"></input> 
        <button type = "submit">Update</button> 
       </form> 
      </td> 
</tr> 

А вот способ приема:

@RequestMapping("/update") 
    public String update(@ModelAttribute("emp") Employee emp){ 

     return "update"; 
    } 

Я продолжаю получать следующее исключение:

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'emp' available as request attribute 

Пожалуйста, дайте мне знать, если у вас есть идеи по выполнению этой задачи.

ответ

0

Это может быть help.Change вашего контроллера, как this.Its работать для меня.

model.addAttribute("emp", new Employee()); 

@RequestMapping("/list") 
    public String list(Model model){ 
     List<Employee> employees = repository.findAll(); 
     model.addAttribute("emp", new Employee()); 
     model.addAttribute("employees", employees); 
     return "list"; 
    } 
+0

Если я это сделаю, то исключение не будет, но я отправлю обратно пустой объект Employee. – user3779674

+0

Но они указывают его в документе ion так: .https: //spring.io/guides/gs/handling-form-submission/ –

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