Java 在SpringMVC中,表单提交后,遇到PropertyNotFoundException
这是控制器Java 在SpringMVC中,表单提交后,遇到PropertyNotFoundException,java,spring-mvc,Java,Spring Mvc,这是控制器 @Controller @RequestMapping("/Register") public class RegistrationController { @RequestMapping(method=RequestMethod.GET) public String showForm(ModelMap model) { System.out.println("..In showform().."); UserBean use
@Controller
@RequestMapping("/Register")
public class RegistrationController {
@RequestMapping(method=RequestMethod.GET)
public String showForm(ModelMap model)
{
System.out.println("..In showform()..");
UserBean userbean=new UserBean();
model.addAttribute("USER", userbean);
return "Test";
}
@RequestMapping(value="/Register" ,method=RequestMethod.POST)
public String processForm(@ModelAttribute("USER") UserBean user)
{
System.out.println("UserDetails are :"+ user.getFirstName());
System.out.println("UserDetails are :"+ user.getAge());
return "Success";
}
}
这是Test.jsp
<form:form method="POST" modelAttribute="USER" action="Register">
<table>
<tr><td>Name</td> <td><form:input path="FirstName"/></td></tr>
<tr><td>Age</td> <td><form:input path="Age"/></td></tr>
<tr><td><input type="submit" value="Submit"/></td></tr>
</table>
</form:form>
<body>
<table>
<tr>
<td>User Name :</td>
<td><core:out value="${USER.FirstName}" /></td>
</tr>
<tr>
<td>Age :</td>
<td><core:out value="${USER.Age}" /></td>
</tr>
</table>
</body>
现在,在我点击提交按钮后,遇到了以下错误。不知道为什么。我在backingbean中有适当的getter/setter
javax.el.PropertyNotFoundException: Property 'FirstName' not found on type com.beans.UserBean
getter方法
public String getFirstName()
对于名为:firstName
的实例变量是等效的,而不是firstName
由于以小写字母开头的变量是a,Spring MVC将搜索名为:firstName,age
和NOTfirstName,age
的实例变量。
Spring抛出异常:javax.el.PropertyNotFoundException
,因为他找不到FirstName
和Age
的任何异常
您所要做的就是更改这些实例变量的名称,以便它们可以以小写字母开头:firstName,age
private String FirstName;
private int Age;
这确实是一个糟糕的做法,用小写字母定义变量中的第一个字符。请使用小写字母,然后重试。将属性重命名为
firstName
,并使用较低的f。由于命名约定,请重试(也在jsp中)使用较低的f
将属性重命名为firstName
。由于命名约定,请重试(也在jsp中)嗨,Daniel。谢谢。我真傻,但解释还是很好。尝试学习SpringMVC。所以,我想我们会经常讨论。没问题,如果我听起来有点直言不讳的话,对不起:)干杯
private String FirstName;
private int Age;