如何將c:forEach標記的循環索引附加到struts select/text標記的屬性?如何將c:forEach標記的循環索引附加到Struts HTML標記屬性?
例如。
<%@ 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的「財產」屬性中的字符串:選擇標籤?
UPDATE
下面的代碼片段也嘗試了,但這並沒有工作,要麼 <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>
,我接受我自己的答案 –