Как я могу добавить индекс цикла тэга ac: forEach к атрибутам структуры выбора / текстового тэга?
Например.
<%@ 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 для создания строки, которая будет заполнять атрибут "property" тега 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>