我在jsp页面中使用struts dialog box
。我希望每个id
框中的dialog
应该是动态的。为此我正在做这个代码 -
<%
int counter = 0;
%>
<s:iterator var="RP" value="campaignList" status="currRow">
<%
counter++;
%>
<sj:dialog id="DivQuestionAnswer<%=counter%>" autoOpen="false"
modal="true" width="750" cssStyle="font-size: 15px;"
title="Question Results">
<s:form name="frmUploadQuestion" id="frmUploadQuestion"
action="uploadQuestion" method="post" theme="simple">
<s:hidden value="" name="question.campaignId" id="campaignId" />
<table width="100%" border="0" cellspacing="10"
cellpadding="0">
<tr>
<td width="45%">Question File :</td>
<td></td>
<td width="55%"><input type="file"
name="question.questionFile" id="questionFile" /></td>
</tr>
</table>
</s:form>
</sj:dialog>
</s:iterator>
但它始终将id作为DivQuestionAnswer<%=counter%>
。不像DivQuestionAnswer1,DivQuestionAnswer2,DivQuestionAnswer3。
答案 0 :(得分:1)
您无法将Scriptlet(<% %>
,that you shouldn't use at all)与Struts标记(或Struts2-jQuery标记)混合使用。
此外,您不需要:使用Iterator,您可以获得一个IteratorStatus对象,可用作计数器:
<s:iterator value="campaignList" status="currRow">
<sj:dialog id="DivQuestionAnswer%{#currRow.count}" ... >
注意:#currRow.count
从1开始,#currRow.index
从0开始。
答案 1 :(得分:0)
`“你把计数器放在双引号内,所以它不起作用。
"\"" + <%=counter%>+ "\""