我在使用spring表单标记库创建表单时遇到了一个异常
“BindingResult 和 Bean 名称'命令'的纯目标对象都不能用作请求属性”
jsp 页面是索引.jsp
<%@ include file="views/static_include.jsp" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Login to AVA Corp</title>
</head>
<body>
<form:form method="POST" commandName="user" action="login.jsp">
<table>
<tbody><tr>
<td><form:label path="firstName">Name:</form:label></td>
<td><form:input path="firstName"></form:input></td>
</tr>
<tr>
<td><form:label path="age">Age:</form:label></td>
<td><form:input path="age"></form:input></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Submit">
</td>
<td></td>
<td></td>
</tr>
</tbody></table>
</form:form>
</body>
</html>
bean类是:
import java.io.Serializable;
public class Person implements Serializable {
private static final long serialVersionUID = 1949001721422434327L;
private String firstName;
private Integer age;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
控制器类是
@Controller
public class LoginController {
@RequestMapping(value = "/login", method = RequestMethod.GET)
public ModelAndView initForm(Model model) {
return new ModelAndView("index", "user", new Employee());
}
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String login(@ModelAttribute("user") Employee employee, BindingResult result, SessionStatus status){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("user", employee);
return "UserFormSuccess";
}
}
我发现问题出在method type = "get "的控制器方法上。请求方法的值需要是表单所在页面的URL映射,例如在我们的例子中是index.jsp,因此控制器类将是
@Controller
public class LoginController {
@RequestMapping(value = "/login", method = RequestMethod.GET)
public ModelAndView initForm(Model model) {
return new ModelAndView("index", "user", new Employee());
}
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String login(@ModelAttribute("user") Employee employee, BindingResult result, SessionStatus status){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("user", employee);
return "UserFormSuccess";
}
}
我正在使用 spring 和Hibernate构建一个应用程序。 我认为有一个问题与,但我不知道什么是错的。 这是我的代码: 我的控制器: 我的实体 这是错误:
这是我的ApplicationContext.xml文件 这是我的student.jsp文件
“bean名称'login command'的BindingResult和普通目标对象都不能作为请求属性使用” 这是我新项目的第一个控制器,我在处理xml时遇到了一些问题。我想那都解决了,但如果什么都没看到,我想问题可能就在那里。奇怪的是,所有这些代码几乎都是直接从我的另一个项目复制的,而且它工作得很好。 而且,如果这一点重要的话,我正在运行glassfish。提前道谢! 编辑:网页是/moren
我在web上查找了几乎所有与此问题相关的答案,但无法在代码中找出问题所在。 这是我的JSP页面。 当我删除 很好用。我可以和我的控制器沟通。所以问题与这条线有关。 我可能在XML文件中做错了什么。我是新来的这个春暖花开的员工,所以等待您的帮助。谢谢。 这是引发的异常
嘿,我是从Spring开始的,但是我发现了这个异常并且无法解决它这是我的jsp 这是我的控制器 这是个例外