Neither BindingResult nor plain target object for bean name 'command' available as request attribute

用spring的<form:form>标签来显示或者提交表单时,报这个错误,可以简单理解为bean对象 command 没有对应的请求属性(标签元素),因为如果你不为表单元素指定对应的类对象,则系统会默认指定一个bean对象command为表单属性的宿主。

解决问题有2个,第一种方法是从mvc的角度来解决问题,第二种方法是从页面jsp的角度来解决这个问题。

1,在controler方法中添加参数Map或者ModelMap,

如果参数为Map 则方法体中添加:map.put("user",new User());

如果参数为ModelMap 则方法体中添加:model.addAttribute("user",new User());

同时在jsp页面的<form:form action="addUser" method="post" modelAttribute="user">

添加 modelAttribute="user"

2,在当前页面中添加一句java代码:

<jsp:useBean id="command" class="xxx.xx.xxx.xxx.User" scope="request"></jsp:useBean>

他们都可以到达同样的效果,就是为表单元素指定一个对象。



猜你喜欢

转载自blog.csdn.net/jianguangguo/article/details/79594397