Как получить конкретный элемент цикла?

Короче говоря, я сейчас пытаюсь работать с jstl, у меня есть цикл foreach, который создаёт карточки товара по шаблону: Имя, цена, время подачи, кнопка Add to cart. Так вот, при нажатии кнопки информация о товаре записывается в лист для дальнейшей обработки, но сейчас я могу получить таким образом только 1-й элемент. Вопрос следующий, как получить тот элемент, на карточке которого была нажата кнопка? Например, 5й.

Читал про varStatus, но не очень понял как его применить.

<section>
    <form action="Controller" method="post">
    <sql:query dataSource = "${snapshot}" var = "result">
        SELECT * from menu where category='alcohol';
    </sql:query>
    <c:forEach var = "row" items = "${result.rows}">
        <div class="product-item">
            <div class="product-list">
                <h3><c:out value = "${row.name}"/> per bottle</h3>
                <input type="hidden" name="name" value="${row.name}"/>
                <span class="price">Price: $<c:out value = "${row.price}"/> </span>
                <input type="hidden" name="price" value="price">
                <span class="time">Filing time: <c:out value = "${row.time}"/>min</span>
                <input type="hidden" name="command" value="addtocart" />
                <input type="submit" class="button" value="Add to cart">
            </div>
        </div>
    </c:forEach>
    </form>
</section>

Это то, как всё выглядит.


Ответы (1 шт):

Автор решения: Kirill_mont

Решил проблему не используя JS, не знаю, как я раньше не додумался, все нужные парамертры можно передать по ссылке, например:

<a href="Controller?command=addtocart&name=${row.name}&price=${row.price}&time=${row.time}" class="button">Add to cart</a>

Где &name=${row.name}&price=${row.price}&time=${row.time} и есть параметры, которые будут переданы в сервлет.

→ Ссылка