Так что в настоящее время я прохожу курс обучения по Spring MVC.В текущем разделе создается простая форма для отправки имени и фамилии.
Hey user, may i know your name?
<form:form action="hello" modelAttribute="info">
First Name: <form:input path="firstName" />
Last Name: <form:input path="lastName" />
<input type="submit" value="Submit" />
</form:form>
Входные данные передаются через информационный класс в HelloController
@Controller
public class HelloController {
@RequestMapping("/hello")
public ModelAndView helloWorld(@RequestAttribute("info") Information userInfo) {
ModelAndView model = new ModelAndView("hello");
model.addObject("firstName", userInfo.getFirstName());
model.addObject("lastName", userInfo.getLastName());
return model;
}
@RequestMapping("/")
public ModelAndView homepage() {
ModelAndView model = new ModelAndView("index", "info", new Information());
return model;
}
Информационный класс:
public class Information {
private String firstName;
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
Далее класс информации должен быть перенаправлен в файл представления hello.jsp
<body>
<h2> Hello ${firstName} ${lastName} </h2><br/>
</body>
Я подумал, что это на самом деле довольно просто, но после отправки формы я получаю исключение "Отсутствует запросатрибут «информация» типа Информация ».Я дважды проверил свой код по отношению к коду от инструктора udemy, но не смог найти никаких ошибок.Может кто-нибудь помочь?
В отношении sidenote, я не знаю, есть ли что-нибудь, связанное с этой ошибкой, но после добавления @Controller
к классу автозаполнение в eclipse перестает работать для этого класса.После удаления аннотации автозаполнение снова начинает работать.