У меня есть форма, в которой есть раскрывающийся список, и я использую цикл foreach, чтобы заполнить его значениями, возвращаемыми из SQL-запроса. Он должен возвращать индекс цикла через свойство varStatus. Вот код:JSP опциональный тег в foreach только возвращает первое значение
<form action="response.jsp">
<strong>Select a Department:</strong>
<select name="depts">
<c:forEach var="dept" items="${departments.departments}" varStatus="loop">
<option value="${loop.index}">${dept}</option>
</c:forEach>
<input type="submit" value="submit" name="submit" />
</form>
выпадающий список заселяется правильно, однако при нажатии подать, только первый индекс возвращается, то есть независимо от того, какой вариант выбран, только первое значение возвращается.
Код, который принимает возвращаемое значение является
<jsp:setProperty name="department" property="index" value="${param.loop.index}"/>
Метод сеттер для индекса также устанавливает значения трех других переменных в классе, которые получены из индекса, если это делает никакой разницы.
Не уверен, что я пропустил что-то очевидное, но любая помощь будет оценена по достоинству.
«.index» является правильным использовать в качестве значения используются в качестве индекса в массив содержащие имена разных отделов. Установленное свойство используется для получения параметров, которые затем используются в sql-запросах, чтобы найти всех сотрудников в этом отделе. – Musicgun47