0

好的,它是另一个 spring 的 null ModelAttribute,但我已经尝试了我找到的所有东西,但它不起作用。

我已将本教程功能添加到我的 web 应用程序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我尝试了有和没有类型属性的输入,但它仍然为空,正如我所说,我可以看到我的数据,但我无法提交它们。

4

1 回答 1

0

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

@SessionAttributes({ "editForm" })
public class YourController {
  ...
}
于 2013-05-20T08:26:05.947 回答