Ich habe 2 Entity-Klassen mit dem Namen District und Street, in Ansicht, um das Formular Street Objekt zugewiesen ist. Wie kann ich den Wert von Street.district.id binden? Zum Abschicken bekomme ich NullPointerException.Spring MVC @ModelAttribute bind subclasses
Ansicht Einheiten und Form:
<form class="form-inline" action="#" th:action="@{/direct/api/v1/newStreet}" th:object="${street}" method="POST">
<div class="form-group">
<label for="name">Name</label>
<input type="text" th:field="*{name}" class="form-control" id="name" placeholder="Street name"/>
</div>
<div class="form-group">
<label for="district">District</label>
<select class="form-control" id="district">
<option th:each="d : ${districts}" th:field="*{district.id}" th:value="${d.id}" th:text="${d.name}"></option>
</select>
</div>
<button type="submit" class="btn btn-default">Save</button>
Controller:
@RequestMapping(value = "/newStreet", method = RequestMethod.POST)
public String newStreet(@ModelAttribute Street street){
log.info(street.getName());
log.info(String.valueOf(street.getDistrict().getId()));
return "redirect:/streets";
}
Auf Formular bekommen I Street Namen von Ein- und null District.
@GVArt Sie sind willkommen :) – cralfaro