Как я могу добавить индекс цикла тега c: forEach к атрибутам тега select/text struts?
Например.
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html"%>
<c:forEach begin="2" end="${pageView.guestCount}" varStatus="gC">
<div class="section guest-details">
<html:select property='title_guest<c:out value="${gC.index}"/>'>
<html:options collection="titles" property="code" labelProperty="value" />
</html:select>
</div>
</c:forEach>
выдает следующую ошибку
javax.servlet.jsp.JspException at org.apache.struts.taglib.html.SelectTag.calculateMatchValues(SelectTag.java:246)
Теперь, когда я отлаживаю код в <html:select ...
, он показывает, что когда он устанавливает атрибут свойства, он устанавливается как "title_guest<c:out value="${gC.index}"/>"
, что может быть причиной исключения выше.
Кроме того, я должен упомянуть, что если я использую вышеуказанный формат для добавления индекса цикла к стандартному атрибуту тега html, например тегу <select>
, код работает нормально.
Например
<c:forEach begin="2" end="${pageView.guestCount}" varStatus="gC">
<div class="section guest-details">
<select name='title_guest<c:out value="${gC.index }"/>'>
<option value="">Select Title</option>
</select>
</div>
</c:forEach>
Правильно выводит предполагаемый HTML
Что я делаю неправильно, должен ли я использовать EL для создания строки, которая будет заполнять атрибут «свойство» тега html: select?
ОБНОВЛЕНИЕ
Также был опробован следующий фрагмент, но он тоже не сработал <html:select property="title_guest${gC.index}">
И это тоже не работает
<c:set var="guestTitle">title_guest${gC.index}</c:set>
<html:select property="${guestTitle}" styleClass="{required: true}">
<html:options collection="titles" property="code" labelProperty="value" />
</html:select>