用于对象集合的表单的Freemarker语法(Spring 3 MVC)


问题内容

我有一个命令bean( FooList),它有一个属性是一个集合(ListFoo豆)。

我正在尝试创建一个可以Foo一次编辑所有s 的表单。我发现了许多使用JSP进行此操作的示例,但是我在将它们转换为Freemarker语法时遇到了麻烦。

在我的Freemarker模板中,我可以轻松地遍历集合:

[#list fooList.foos as foo]
...
[/#list]

我还可以Foo通过索引引用特定的内容:

[@spring.bind "fooList.foos[0].name" /]
<input type="text" name="${spring.status.expression}" value="${spring.status.value?default('')}"/>

但是,我还没有想出如何同时将两者绑定Foo成表单元素。

这是一次幼稚的尝试,但失败了:

[#list fooList.foos as foo]
    [@spring.bind "fooList.foos[foo_index].name" /]
    ...
[/#list]

(独立地,${foo_index}在循环内工作。)

谁能指出我正确的方向?

谢谢。


问题答案:

只是有同样的问题。这为我工作:

[#list fooList.foos as foo]
  <#assign item>fooList.foos[${foo_index}].name</#assign>
  [@spring.bind item /]
  ...
[/#list]