Mój problem jest następujący:Jak przekazać dwa obiekty do użycia w formularzu za pomocą thymeleaf?
Mam 2 różne obiekty, które muszę wypełnić z pojedynczego formularza.
z 1 obiektu, po prostu zrobić w newFoo.html:
<form th:object="${foo} th:action="@{/foo}" method="post">
<input type="text" th:field="*{name}" />
<button type="submit">Go</button>
</form>
aw FooController:
@RequestMapping(value = "/foo/new", method = RequestMethod.GET)
public String newFoo(final Foo foo, Model model) {
return "newFoo";
}
@RequestMapping(value = "/foo/new", method = RequestMethod.POST)
public String saveFoo(final Foo foo, final BindingResult bindingResult, Model model) {
fooService.save(foo);
return "redirect:/foo/new";
}
powiedzmy mam inny bar obiekt o "status" zmienna w nim. Jak mogę zrobić, aby przekazać ten obiekt, aby móc przesłać dane wejściowe w tym samym formularzu?
odczuwalna:
<form th:object="${foo} && ${bar}" th:action="@{/foo}" method="post">
<input type="text" th:field="*{name}" />
<input type="text" th:field="*{status}" />
<button type="submit">Go</button>
</form>
Do tej pory starałem się zrobić z do fieldset z th: obiekt w nim, że nie działa, starałem się umieścić dwa th: obiekt w formularzu, że nie robi nie działa.
Jedyny sposób, jaki znalazłem, to zbudowanie innego obiektu zawierającego te dwa obiekty i przekazanie go. To działa dobrze, ale nie mogę stworzyć tego rodzaju obiektu, to bzdura (nawet jeśli działa).
Oczywiście obiekty nie są tak proste jak Foo i Bar, w przeciwnym razie scaliłbym te dwa. Ale to nie jest coś, co mogę zrobić.
Czy można przekazać dwa takie obiekty w formularzu?
Dzięki już.
Po prostu próbowałem, a właściwie to nie działa. Wszystkie zmienne obiektu mają wartość NULL, gdy otrzymam je po przesłaniu. Obiekty wiążące wyniki są puste, Modeluj to samo. Dzięki i tak. Wygląda na to, że Spring nie jest wystarczająco inteligentny. – brnrd
To dlatego, że nie ustaliliśmy dla nich nazwy. Wejście "nazwa" musi pasować do nazwy pola fasoli. –
Działa dobrze! Dziękuję Ci bardzo. – brnrd