1

我的 spring 项目中有一个简单的联系表单,用于访问支持对象,但出现此错误

“ Bean 名称 'indexBacking' 的 BindingResult 和普通目标对象都不能用作请求属性”

我的表格如下所示:

<form:form action="index.htm" enctype="multipart/form-data" method="post" commandName="indexBacking" accept-charset="UTF-8">
    <form:label path="personName">Name</form:label>
    <form:input id="personName" path="personName" autocomplete="false" /><br />
    <form:label path="personEmail">Email</form:label>
    <form:input id="personEmail" path="personEmail" autocomplete="false" /><br />
    <form:label path="personComments">Your Comments</form:label>
    <form:input id="personComments" path="personComments" autocomplete="false" /><br />
    <input type="submit" alt="Submit"/>
</form:form>

这意味着访问我的控制器并将字段“personName”、“personEmail”和“personComments”保存到我的名为“indexBacking”的支持对象中。

我试图访问的控制器方法在这里:

@RequestMapping(value = PAGE_NAME, method = RequestMethod.POST)
public String handleContactForm(ModelMap map, HttpServletRequest request, @ModelAttribute("indexBacking") IndexBacking bo, BindingResult result) {  
    return MODEL_NAME;
}

但我不确定它是否与支持对象相关联。任何想法我做错了什么?

谢谢乔恩

4

3 回答 3

1

尝试使用modelAttribute="indexBacking"onform:form而不是commandName="indexBacking".

另外,看看这个答案;它可能为您的案例提供有用的信息。

于 2012-08-05T19:12:24.873 回答
0

问题很简单,我只是个白痴。我看到我的一位同事正在处理一个表单,并假设他的一些课程默认是 Spring 的一部分。我所要做的就是正确处理另一端接收到的数据(通过调用控制器中的适当方法),它工作正常。

感谢您的帮助-感谢@nobeh 为我指明了正确的方向。

于 2012-08-29T15:46:46.590 回答
-1

问题出在你的控制器上!以下内容可能对您的要求有很大帮助检查此

于 2012-08-05T19:15:25.413 回答