Как обрабатывать формы, сопоставленные более чем одному объекту, используя Thymeleaf + Hibernate + Spring Boot? - PullRequest
0 голосов
/ 20 января 2019

У меня есть форма в Thymeleaf, которую я хочу связать с двумя различными объектами для сохранения в базе данных с помощью Hibernate

У меня есть следующая форма с использованием Thymeleaf:

<form th:action="@{/app/handleForm}" th:object="${entity1}" 
method="post">
    <input type="text"  th:field="*{field1}" />      
<input type="text" th:field="*{field2}" />
   <input type="text" th:field="*{field3}" />
</form>

Давайтепредположим, что первые два поля связаны с entity1, а третье поле должно быть связано с entity2 (не entity1), как мне это сделать?

Кроме того, в методе контроллера у меня есть две реализации DAO для их сохранения:

@PostMapping("app/handleForm")
public String  RHTraiterDemande(Model m, Entity1 entity1, Entity2 
entity2) {

    entity1Service.add(entity1);
            entity2Service.add(entity2);
    return "showResults";       
   }

Как это сделать?

1 Ответ

0 голосов
/ 20 января 2019

Вы можете создать пользовательский объект с необходимой информацией и отобразить его, используя th:object.

Новый класс

public class MyClass {
    private Entity1 entity1;
    private Entity2 entity2;
    // Getters and setters.
}

форма

<form th:action="@{/app/handleForm}" th:object="${myClass}" 
method="post">
   <input type="text" th:field="*{entity1.field1}"/>      
   <input type="text" th:field="*{entity1.field2}"/>
   <input type="text" th:field="*{entity2.field3}"/>
</form>

Контроллер

@PostMapping("app/handleForm")
public String RHTraiterDemande(Model m, MyClass myClass) {
    entity1Service.add(myClass.entity1);
    entity2Service.add(myClass.entity2);
    return "showResults";       
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...