List 作为使用 Spring 3 MVC 的表单支持对象,语法正确吗?

2023-11-29

我想做这样的事情,在哪里Foo是一个具有一个 String 字段名称和 getter/setter 的类:

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

然后提交带有更新名称的完整食品清单?

我的控制器看起来像这样:

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

也许这可以回答你的问题:

控制器 :

@Controller("/")
public class FooController{

    //returns the ModelAttribute fooListWrapper with the view fooForm
    @RequestMapping(value = "/FOO", method = RequestMethod.GET)
    public String getFooForm(Model model) {
        FooListWrapper fooListWrapper = new FooListWrapper();
        fooListWrapper.add(new Foo());
        fooListWrapper.add(new Foo());

        //add as many FOO you need

        model.addAttribute("fooListWrapper", fooListWrapper);

        return "fooForm";
    }

    @RequestMapping(value = "/FOO", method = RequestMethod.POST)
    public String postFooList(@ModelAttribute("fooListWrapper")FooListWrapper fooListWrapper, Model model) {

        //...........
    }

}

FO 列表包装:

public class FooListWrapper {
    private List<Foo> fooList;

    public FooListWrapper() {
         this.fooList = new ArrayList<Foo>();
    }

    public List<Foo> getFooList() {
        return fooList;
    }

    public void setFooList(List<Foo> fooList) {
        this.fooList = fooList;
    }

    public void add(Foo foo) {
        this.fooList.add(foo);
    }
}

FO类:

public class Foo {
    private String name;

    public Foo() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

JSP 视图(名称 = fooForm):

<c:url var="fooUrl" value="/FOO"/>
<form:form id="frmFoo" action="${fooUrl}" method="POST" modelAttribute="fooListWrapper">


    <c:forEach items="${fooListWrapper.fooList}" varStatus="i">
           <form:input path="fooList[${i.index}].name" type="text"/>
    </c:forEach>


    <button>submit</button>
</form:form>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

List 作为使用 Spring 3 MVC 的表单支持对象,语法正确吗? 的相关文章

随机推荐

  • SPNEGO:成功协商和身份验证后的后续调用

    在过去的几天里 我使用以下方法构建了一个概念验证演示GSS API and SPNEGO 目的是让用户通过 Http RESTful Web 服务单点登录访问我们的自定义应用程序服务器提供的服务 持有有效 Kerberos 票证授予票证 T
  • 在 git clone 命令中使用密码克隆 BitBucket 存储库会导致问题

    我正在尝试使用我的密码git clone命令克隆存储库 但总是会出现以下错误 remote Login failed due to incorrect login credentials or method remote If you ar
  • 我的 Android 应用程序可以在隐身选项卡中打开 URL 吗?

    我们都知道如何在 Android 的浏览器中打开 URL 做这样的事情 Intent browserIntent new Intent android intent action VIEW Uri parse url context sta
  • 在mysql中创建触发器时出现错误“1064”?

    在 mysql 中创建触发器时 我收到错误 1046 我的查询是 CREATE TABLE test Employee id int first name VARCHAR 30 last name VARCHAR 15 start date
  • extjs:加载时如何设置组合框的值

    我正在寻找一个load侦听器 当组合框启动时 load将被调用并向服务器执行 ajax 以获得组合框的正确显示值 但是 加载函数永远不会被调用 我该如何修复它 我想在组合框之前显示文本 所以我添加了属性fieldLabel Save log
  • 量角器未知错误,从 DOM 中删除属性

    我是量角器新手 试图从 DOM 中删除属性 但收到 未知错误 我不确定可能是什么问题 我有一个带有自定义指令的简单 HTML 我正在尝试删除它以使我的测试用例通过
  • 在 Google Colaboratory 上使用 GPU 运行 LightGBM/ LGBM

    我经常在 Google Colabatory 上运行 LGBM 我刚刚发现这个页面说 LGBM 默认设置为 CPU 所以你需要先设置 https medium com am sharma lgbm on colab with gpu c1c
  • Clearcase 7.1.2,VOB 分割

    我们当前设置了 VOB 源代码和文档驻留在同一个 VOB 中 为了减少 VOB 下载时间 我们现在希望将文档移动到新的 VOB 以便只有代码部分保留在旧的 VOB 中 由于有很多文件夹和文件 因此不可能手动重新定位每个文件 文件夹 为此 我
  • 使用框在同一文件上绘制不同的列

    我有一个看起来像这样的文件 cat myfile dat 1 8 32 19230 1 186 3 985 1 8 64 9620 0 600 7 877 1 8 128 4810 0 312 15 136 1 8 256 2410 0 2
  • 同步和可见范围

    我一直在阅读 Java 并发性 但忘记了这样一个事实 使用同一锁的两个线程中的同步块也会影响变量的可见性 即使它们没有定义为 易失性 如果我有这样的代码 Object lock new Object boolean a false b fa
  • PHP MD5 与 C# MD5 不匹配

    我在 C 中有一个哈希方法 如下所示 MD5CryptoServiceProvider md5 new MD5CryptoServiceProvider byte raw input Encoding UTF32 GetBytes hell
  • r 在数据表上的行式迭代

    library quantmod library PerformanceAnalytics getSymbols YHOO src google stock dat data table PerformanceAnalytics Calcu
  • 在 Excel 中复制和重命名未打开的工作簿

    我正在尝试复制位于一个文件路径的整个未打开的工作簿 将其重命名并将其保存到新目录 我在重命名和保存时遇到问题 这是迄今为止我的代码 Private Sub new file Click Dim ActBook As Workbook New
  • 用于初始化列表列表的简洁语法

    C 中是否有用于初始化列表列表的简洁语法 I tried new List
  • 使用 setAttribute 方法() 的 Aurelia 自定义属性

    当我在 javascript 中创建和附加元素并设置自定义属性时 Aurelia 似乎并不知道 除非我做错了什么 例如 const e document createElement div e setAttribute custom att
  • 如何将 iScroll4 与 SwipeView 结合使用?

    我正在使用 iScroll4 在移动网站内的图像上创建水平滚动效果 iScroll 工作得非常好 但问题是 iScroll 包装器中包含的图像禁用了本机垂直滚动 换句话说 用户通过手指滑动来导航页面的操作在 iScroll 包裹图像内的任何
  • 在php中获取图像src

    如何使用 php 函数从 img 标签获取图像源 或者 您可以使用内置 DOM 函数 如果您使用 PHP 5 doc new DOMDocument doc gt loadHTMLFile url xpath new DOMXpath do
  • 录制成WAV文件

    自从我发帖以来这个问题 我一直在尝试自己从原始 PCM 数据编写一个有效的 WAV 文件 我已经成功编写了 FLAC 转换器 经过测试并且可以工作 但它不会对我一直在编写的 WAV 文件进行编码 我不确定我做错了什么 我一直在网上搜索其他个
  • 确定 .NET Core 中的操作系统

    如何确定我的 NET Core 应用程序正在哪个操作系统上运行 过去我可以使用Environment OSVersion 当前确定我的应用程序是在 Mac 还是 Windows 上运行的方法是什么 Method System Runtime
  • List 作为使用 Spring 3 MVC 的表单支持对象,语法正确吗?

    我想做这样的事情 在哪里Foo是一个具有一个 String 字段名称和 getter setter 的类