【问题标题】:Map a dynamic list of inputs to Model Attribute in Spring MVC from JSP从 JSP 将输入的动态列表映射到 Spring MVC 中的模型属性
【发布时间】:2021-03-29 20:12:49
【问题描述】:

此处与此问题类似:List<Foo> as form backing object using Spring 3 MVC, correct syntax?

@RequestMapping(value = "/FOO", method = RequestMethod.POST)
public String getSendEmail(List<Foo> foos, Model model) {
    // ...
}

<form:form id="frmFoo" modelAttribute="foos">
   <c:forEach items="${foos}" var="foo">
     <form:input path="${foo.name}" type="text"/>

发布表单时,我需要能够将列表作为模型属性。包括上述示例在内的所有示例都假定列表中存在现有条目。但如果有人填写新表格,情况就不是这样了。

所以我的问题是,当您登陆页面时不存在列表条目时,如何动态发布模型属性列表。如何动态创建将映射到我的模型属性的 null 或空列表的输入。

【问题讨论】:

  • 有人吗?必须有办法做到这一点。我无法想象 Spring 没有想到这一点。

标签: java spring spring-mvc


【解决方案1】:

我想通了!假设您有一个模型(为简洁起见,省略了 getter/setter)

class SomeModel {
    List<SomeModelChildClass> children;
}

class SomeModelChildClass {
    String someString;
}

在您的 JSP 中,您可以像这样映射到孩子(即使它是空白的)...

这将映射 SomeModelChildClass 与 someString = "I Did it!"当您发布到控制器时。这当然假设您在 SomeModel 的控制器中设置了表单和模型属性。然后你可以通过输入发布,它会用列表填充你的模型!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    相关资源
    最近更新 更多