java - 从 JSP 将输入的动态列表映射到 Spring MVC 中的模型属性
问题描述
类似于这里的这个问题:List<Foo> as form backing object using Spring 3 MVC,正确的语法?
@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 或空列表的输入。
解决方案
我想到了!假设您有一个模型(为简洁起见,省略了 getter/setter)
class SomeModel {
List<SomeModelChildClass> children;
}
class SomeModelChildClass {
String someString;
}
在您的 JSP 中,您可以像这样映射到孩子(即使它是空白的)...
这将映射 SomeModelChildClass 与 someString = "I Did it!" 当您发布到控制器时。这当然假设您在 SomeModel 的控制器中设置了表单和模型属性。然后你可以通过输入发布,它会用列表填充你的模型!
推荐阅读
- python - Python 优化移动平均线
- jersey - Jersey 客户端抛出 MessageBodyProviderNotFoundException
- react-native - React Native 项目在启动时挂起
- android - 底部导航组件是否有与“ViewPager.setOffscreenPageLimit”等效的东西?
- vba - 在 Access 中使用单个表单在不同表的字段下添加/编辑条目
- laravel - 部署 laravel 项目的正确方法
- javascript - 如何使用 NestJS 将纯文本作为我的请求正文传递?
- python - 比较 Python 中的 SQL 字段
- nginx - 为 statis vuejs 站点配置 nginx
- c - 将指针传递给函数的问题