Spring MVC多行表单提交提交新的ModelAttribute

时间:2013-05-19 13:15:06

标签: java spring spring-mvc

好吧,它是另一个spring的null ModelAttribute,但是我已经尝试了所有我发现的但它不起作用。

我已经将这个教程功能添加到我的网络应用程序spring-mvc,除了当我必须将数据从表单返回到我的bean时,每个工作都会更好。

我使用两种帖子方法

@RequestMapping(method = RequestMethod.POST)
    public String openEdit(@RequestParam("notfound") String[] notFound,
                           Model model){
        EditForm editForm = editModel.createEditForm(notFound);
        model.addAttribute("editForm",editForm);
        return "Edit/EditOwners";
    }

    @RequestMapping(method = RequestMethod.POST,value = "/saveOwners")
    public String saveOwners(@ModelAttribute("editForm") EditForm editForm){
        editModel.addOwners(editForm);
        return "index";
    }

第一个工作正常,我可以看到我的Jsp中的数据,第二个获得一个新的ModelAttribute。

这是我的表格

<form:form method="POST" action="saveOwners" modelAttribute="editForm" >
            <table class="table table-bordered table-striped table-hover table-condensed">
                <caption>
                    <h4>Edit The Owners</h4>
                </caption>
                <thead>
                <tr>
                    <td>Name</td>
                </tr>
                </thead>
                <tbody>
                <c:forEach items="${editForm.owners}" var="item" varStatus="status">
                    <tr>
                        <td>${item.name}</td>
                        <td><input type="text" name="${owners[status.index].outId}" value="${item.outId}" /> </td>
                        <td><input type="text" name="${owners[status.index].type}" value="${item.type}" /> </td>
                    </tr>
                </c:forEach>
                </tbody>
            </table>
            <input type="submit" value="Save" class="btn btn-primary"/>
        </form:form>

这里似乎有什么不对? PS我尝试了有和没有类型属性的输入,但它仍然是空的,正如我所说,我可以看到我的数据,但我不能提交它们。

1 个答案:

答案 0 :(得分:0)

您是否尝试将以下注释添加到控制器类的顶部?

@SessionAttributes({ "editForm" })
public class YourController {
  ...
}