@RequestMapping(...)
public String get(@RequestParam List<Cmd> rows) {...}
处理程序,而且我用Spring forms tags生成的输入。所以JSP代码
<c:forEach var="i" begin="0" end="${fn:length(rows)}" >
<form:input path="rows[${i}].name" />
...
</c:forEach>
产生
<input name="rows[0].name" value="...' />
这一切都很好,但我也希望允许用户动态地添加行,所以要写入模板input
需求。但是,name="rows.name"
和name="rows[].name"
都不起作用,所以我必须编写代码来生成索引,这很烦人。
我在这里错过了什么吗?有没有更好的方法来做到这一点?
编辑:
顺便说一句,我试图用Javascript生成动态name="rows[n].name"
,但如果用户删除在中间一排它成为一个问题。重写所有索引的代码似乎是不合理的。
我最终在一些服务器端处理中使用了这个表单来消除由删除条目创建的“空白”。 –
在我们的项目中,索引是使用Javascript进行管理的。所以你得到空值删除索引或什么? –
是的。当您从中间删除行时,代码先前崩溃。我添加了代码以预先扫描列表,并在传递之前除去空值。使用javascript来管理索引似乎对于我正在处理的简单表单来说太复杂了(它不会在任何地方使用异常来添加/删除行)。 –