В моем приложении Spring у меня есть 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 ... (все идентификаторы в списке с разделителями-запятыми) без возможности определения которая была нажата. Я не хочу указывать разные действия для каждой кнопки, так как количество элементов может расти, и действие для них одинаково, просто с другим идентификатором.
Как я могу использовать несколько кнопок в этой форме и получить значение в контроллере?
Пожалуйста, не используйте Javascript для этого. Это не имеет никакого смысла. – BalusC