Задать вопрос
@artemfisher

Почему не работает привязка данных с формы в Spring MVC?

Добрый день. Перечитал документацию, гуглил, не нашел в чем проблема.

1. Создаю класс
public class Person {
	
	private int age;
	
	public Person(int age) 
	{
		this.age = age;
	}	
	
	@Override
	public String toString()
	{
		return String.valueOf(this.age);
	}

}


2. Создаю форму
<form method="post">
<input type="number" name="age"/>
<input type="submit"/>
</form>


3. Создаю обработчик формы
@Controller
@RequestMapping("/")
public class MainController {
@PostMapping
	public String getForm(Person person)	
	{				
		System.out.println(person);
		return "index";
	}
}


При вводе числовых данных в поле выдает исключение:
java.lang.IllegalStateException: Cannot resolve parameter names for constructor public mainPackage.Person(int)

При этом, если создать в классе сеттеры и создать конструктор по умолчанию (т.е. без параметров), то всё работает, т.е. привязка идет через сеттеры.
Но вопрос в другом: почему не работает привязка через конструктор?
  • Вопрос задан
  • 69 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы