【问题标题】:Creating a form in Spring在 Spring 中创建表单
【发布时间】:2012-08-05 18:26:54
【问题描述】:

我的 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;
}

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

谢谢 乔恩

【问题讨论】:

    标签: spring spring-mvc


    【解决方案1】:

    尝试在form:form 上使用modelAttribute="indexBacking" 而不是commandName="indexBacking"

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

    【讨论】:

    • 你能贴出代码sn-p准备表格并显示在控制器端吗?
    • 这不是我上面贴的吗?我认为我没有任何其他相关的代码 =P 你希望看到什么?
    • 当您需要查看表单页面时,您使用什么 URL?通常,表单处理涉及一个 GET 请求,该请求准备表单然后显示它。然后是第二步,使用 POST 提交数据,然后处理结果。因此,根据您发布的内容,我没有看到完整的周期。
    • 傻我!我有点笨拙(见我的回答),感谢您为我指明了正确的方向!抱歉这么晚才回复。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      问题出在你的控制器上! 以下内容可能对您的请求有很大帮助Check This

      【讨论】:

      • 我正在做的不是吗?我的表单是针对“indexBacking”的,我正在将它接受到控制器内的方法中?
      猜你喜欢
      • 2019-11-06
      • 1970-01-01
      • 2017-07-04
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      • 2018-12-19
      • 2019-09-20
      相关资源
      最近更新 更多