私はSpring MVCを初めて使用し、最初のテストアプリで現在取得している javax.el.PropertyNotFoundException のエラーで少し迷っています。私は人のリストを表示しようとしています。ボタンを押すと、人の詳細の新しいエントリを要求する新しいページが表示されます。
だから私は Person モデルを
public class Person {
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;
}
}
メソッド addPersonInitial は、ユーザーが個人の新しいエントリを要求するたびに呼び出されます。その後、ユーザーがフォームに入力すると、送信は関数 addPersonFinal によって処理されます。関数は新しいエントリを追加し、既にそこにいる人物のリストを表示するページにリダイレクトする必要があります。
@Controller
@RequestMapping(value="person")
public class PersonController{
@Autowired
private PersonService personservice;
@RequestMapping(value="viewAll", method=RequestMethod.GET)
public ModelAndView viewAll() {
ModelAndView mav = new ModelAndView();
mav.setViewName("viewAll");
mav.addObject("persons", personservice.getAllPersons());
return mav;
}
@RequestMapping(value="addPersonInitial", method = RequestMethod.GET)
public ModelAndView addPersonInitial() {
ModelAndView mav = new ModelAndView();
mav.setViewName("addPersonInitial");
mav.addObject("person", new Person());
return mav;
}
@RequestMapping(value="addPersonFinal", method = RequestMethod.POST)
public ModelAndView addPersonFinal(@ModelAttribute(value="person") Person person) {
this.personservice.addPerson(person);
return this.viewAll();
}
}
jspのコードは
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Add Person Initial</title>
</head>
<body>
<table>
<tbody>
<form:form method="POST" action="addPersonFinal" commandName="person">
<tr>
<td><label for="firstName">First Name: </label><form:input path= "firstName" /> </td>
<td><label for="lastName">Last Name: </label><form:input path="lastName" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Add" /></td>
</tr>
</form:form>
</tbody>
</table>
</body>
</html>
ユーザーが新しいユーザーのフォーム データを送信すると、次のエラーが表示されます
タイプ例外レポート
メッセージ javax.el.PropertyNotFoundException: プロパティ 'FirstName' がタイプ net.viralpatel.spring3.model.Person で見つかりません
説明 サーバーで内部エラーが発生したため、この要求を実行できませんでした。
例外
org.apache.jasper.JasperException: javax.el.PropertyNotFoundException: Property 'FirstName' not found on type net.viralpatel.spring3.model.Person
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)`enter code here`