Sto creando un modulo con il tag select che assomiglia a questo:Usando 'selezionare' tag con le entità in Thymeleaf
<form th:object="${version}" method="post" class="form-horizontal">
...
<div class="control-group" th:classappend="${#fields.hasErrors('product')} ? 'error'">
<label class="control-label" for="product" th:text="#{version.product}">Product</label>
<div class="controls">
<select id="product" th:field="*{product}">
<option value="" th:text="#{common.select.prompt}"></option>
<option th:each="p : ${productList}" th:value="${p.id}" th:text="${p.name}"></option>
</select>
<span class="help-inline" th:errors="*{product}"></span>
</div>
</div>
...
</form>
DomainClassConverter
classe di Spring Data JPA
aiuta ad auto-convert selezionato id
all'entità Product
quando ho invia il modulo. Il product
dovrebbe anche essere non nullo (sto usando @NotNull
sul campo product
nella classe Version
Il problema che ho -. Quando tornerò per modificare i dati, il Product
non è selezionata
. Se modifico l'select
come questo (th:field
e th:errors
): <-- p.s. is not a sad smile
<select id="product" th:field="*{product.id}">
<option value="" th:text="#{common.select.prompt}"></option>
<option th:each="p : ${productList}" th:value="${p.id}" th:text="${p.name}"></option>
</select>
<span class="help-inline" th:errors="*{product.id}"></span>
allora diventa selezionata quando torno di modificarla, ma il validatore non funziona (product
viene sempre istanziato, anche se l'ID selezionato è null
).
Sembra uno scenario molto comune (selezionando un'entità dall'elenco), ma non riesco a trovare alcun bell'esempio. Per favore condividi la conoscenza segreta.
Cosa intendi per tornare a modificarlo? –
Io uso la stessa pagina per creare e modificare l'entità della versione –