Witam w swojej aplikacji chce przesłać informacje i zapisać je do bazy danych za pomocą formularza z zwykłymi polami tekstowymi ale także po przez comboboxy. Wszystkie dane z zwykłych pól są przesyłane prawidłowo ale combobox już nie zapisuje się do bazy. Wartości z combobox są przesyłane z typu wyliczeniowego enum.
ENUM
public enum StateItem {
NEW("new"),
USED("used"),
DAMAGED("damaged");
private final String displayName;
StateItem(String displayName) {
this.displayName = displayName;
}
public String getDisplayName() {
return displayName;
}
}
ENCJA
@Enumerated(EnumType.STRING)
private StateItem enumState;
html
<select>
<option th:each="state: ${T(pl.szymonciamaga.product.StateItem).values()}"
th:value="${state}"
th:text="${state.displayName}">
</option>
</select>
@Controller
@RequestMapping("/add/item")
public class ProductController {
private CarRepository carRepository;
@Autowired
public ProductController(CarRepository carRepository) {
this.carRepository = carRepository;
}
@GetMapping("/category")
public String category() {
return "selectCategories";
}
@GetMapping("/car")
public String addItemCarToForm(Model model) {
model.addAttribute("product", new CarModel());
return "selectCar";
}
@PostMapping("/car")
public String addCar(CarModel car) {
carRepository.save(car);
return "redirect:/";
}
}
I tak przy okazji czy mógłby ktoś polecić jakiś tekst bądź film na temat walidowania combobox za pomocą klas konfiguracyjnych a nie za pomocą xml może być po polsku jak i po angielsku. Pozdrawiam.