【发布时间】:2010-01-08 03:23:02
【问题描述】:
在我的 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。
我怎样才能在这个表单中有多个按钮并在控制器中获取值?
【问题讨论】: