在我的Spring应用程序中,我有一个具有某种形式的jsp,我想要在其中具有多个提交到同一控制器的提交按钮。我需要能够确定控制器中按下了哪个按钮。该表格向用户显示许多项目,他们可以选择其中一个项目,唯一的区别是所选项目的ID。
在jsp中,我正在创建如下形式:
<form:form method="post" commandName="myCommand"> <c:forEach items="${model.availableitems}" var="item"> <span class="item">${item.description}</span> <input type="hidden" name="id" value="${item.ID}"/> <input type="submit" name="SelectButton" value="Select" /> </c:forEach> </div> </form:form>
但是,这在日志中给了我一个“数据绑定错误:1”消息,并且该表单未提交给控制器。
我尝试将myCommand.id从int更改为String,但是提交时的值是id1,id2,id3 …(以逗号分隔的列表中的所有ID),无法确定按下了哪个按钮。随着项目数量的增加,我不想为每个按钮指定不同的操作,并且针对它们的操作都是相同的,只是具有不同的ID。
如何以这种形式具有多个按钮并在控制器中获取值?
为什么不为每个项目使用单独的表格?
<c:forEach items="${model.availableitems}" var="item"> <form:form method="post" commandName="myCommand"> <span class="item">${item.description}</span> <input type="hidden" name="id" value="${item.ID}"/> <input type="submit" name="SelectButton" value="Select" /> </form:form> </c:forEach>