是否可以将spring form:form
绑定到list元素?我试过这种方式。
<form:form commandName="products[0]">
<form:input path="name"/>
</form:form>
也
<form:form commandName="products0">
<form:input path="name"/>
</form:form>
弹簧控制器中填充了products
列表。
@RequestMapping(method = RequestMethod.GET)
public String getAll(Map<String, Object> map) {
map.put("products", productService.getAll());
return "products";
}
收到:java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'products[0]' available as request attribute
。据我所知,春天还没有找到绑定表格的地方。
答案 0 :(得分:0)
不,这是不可能的。传递给commandName
属性的值是一个键,它不像正常的EL或SpEL表达式那样被解析。它直接使用。换句话说,用
<form:form commandName="products[0]">
<form:input path="name"/>
</form:form>
Spring将查找一个名为products[0]
的模型属性,它将找不到它。
另一种方法是使用您将在jsp中使用的密钥直接将列表的第一个元素放在模型中。
或者你可以使用JSTL,获取列表中的第一个元素并自己创建一个HTML <form>
元素。