Я совершенно не знаком с html и тем материалом.Java/html тип входного радиосигнала - Параметры missmatch
Я пытаюсь создать веб-страницу (используя загрузку Java/Spring), где пользователь просматривает «Пиццу», выбирает количество и размер и отправляет заказ.
Специфическая часть HTML документа:
<div class="input-group">
<span class="input-group-addon">Bestellmenge:</span>
<input type="number" name="amount" class="form-control" placeholder="1"/>
</div>
<form>
<input type="radio" name="pizzaSize" value="1"> Klein</input>
<input type="radio" name="pizzaSize" value="2"> Mittel</input>
<input type="radio" name="pizzaSize" value="3"> Gross</input>
</form>
<div>
<form th:action="@{/saveOrderAndReload(name=${pizza.name}, amount=${amount}, size=${pizzaSize})}" method="post">
<div class="form-group">
<div class="form-group">
<input type="submit" class="btn btn-primary btn-success" value="zur Bestellung hinzufuegen"/>
</div>
</div>
</form>
</div>
Таким образом, когда пользователь нажимает на кнопку, следующий метод вызывается:
@RequestMapping("saveOrderAndReload")
public String saveOrderAndReload(@RequestParam String name, @RequestParam int size, @RequestParam int amount, Model model) {
//Do whateher
return "another html page";
}
Из моего понимания, метод требует String, Int , int как параметры. Веб-страница предоставляет струну (название пиццы), INT (от поля ввода) и INT от входа радио (? Это правильно)
Однако при попытке выполнить метод вызывается так:
http://localhost:8080/saveOrderAndReload?name=SalamiPizza&amount=&size=
Отсутствует на 2 параметра, получая мне следующую ошибку:
Failed to convert value of type [java.lang.String] to required type [int]; nested exception is java.lang.NumberFormatException: For input string: ""
Он ничего не сделает. Все ваши элементы формы находятся вне формы ... Ваш 'th: action' должен быть только'/saveOrderAndReload', и все остальное должно появиться из вашей формы. Вы не вызываете метод am, отправляете данные по URL-адресу ... –