java – Spring / JSTL:如何遍历地图并将输入字段绑定到值?
作者:互联网
所以我的命令对象有一个公共Map< ProductVO,String> availableProducts;它将网站的各种产品/服务作为密钥和用户希望购买的金额作为值.当然提供正常的吸气剂/设定器.
此映射将实例化(作为HashMap),并在设置步骤中使用我们数据库中的所有产品进行填充,并且所有值最初都设置为“0”.
在jsp中,我有一个表来连续显示每个产品,每行包含product.description,product.price,然后是一个输入字段,用户可以在其中输入他们想要的产品数量或者将其保留为零(不要担心非数字验证,会处理其他地方).
我的JSTL foreach看起来像这样;
<c:forEach var="availableProductEntry" items="${credit.availableProducts}">
<c:set var="product" value="${availableProductEntry.key}" />
<tr>
<td>${product.description}</td>
<td>${product.price}"</td>
<td><form:input path="${availableProductEntry.value}" /></td>
</tr>
</c:forEach>
这适用于显示,即表格显示我想要的方式,所有产品迭代和显示,描述,价格和字段的初始值是正确的.
然而,当在字段中放入一些数字并点击提交时,我检查命令对象,它看起来不像Map值已经更新,它们都仍为“0”.
我可能有一个错误的路径=“${availableProductEntry.value}”部分.
有没有办法让动态生成的输入字段更新他们最初从中提取值的Map的值?
解决方法:
你实际上需要使用这个:
<form:input path="availableProducts[${product}]" />
这当然是你的命令对象是“信用”,听起来像是你的帖子
标签:java,spring,jstl,spring-webflow 来源: https://codeday.me/bug/20190704/1373601.html