Comment faire pour ajouter indice de boucle de c:forEach tag Struts balise HTML attributs?

Comment puis-je ajouter de l'indice de boucle de c:forEach tag les attributs d'un struts sélectionner/balise de texte?

Par exemple.

<%@ 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>

jette l'erreur suivante

javax.servlet.jsp.JspException at org.apache.struts.taglib.html.SelectTag.calculateMatchValues(SelectTag.java:246)

Maintenant, quand je déboguer le code à <html:select ... il montre que lorsque l'attribut de propriété de ce jeu, son jeu comme "title_guest<c:out value="${gC.index}"/>" qui pourrait être la cause de l'exception ci-dessus.

Aussi, je tiens à mentionner que si j'utilise le format ci-dessus pour l'ajout de la boucle de l'indice standard html attribut de balise comme un <select> tag, le code fonctionne très bien.

Par exemple

<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>

Correctement les résultats de la destinée HTML

Ce que je fais mal, dois-je utiliser EL pour créer la chaîne qui va remplir la "propriété" de l'attribut html:balise select?

Mise à JOUR

L'extrait suivant a également été essayé et cela ne fonctionne pas non plus
<html:select property="title_guest${gC.index}">

Et, ni fait ce travail

<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>

OriginalL'auteur Salman Paracha | 2011-05-11