2015-06-10 21 views
0

我在一個jsp頁面中使用struts dialog box。我希望每個dialog框的id應該是動態的。爲此,我正在執行此代碼 -struts對話框不使用jsp scriplet

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

回答

1

你不能用Struts標籤(或Struts2的 - jQuery的標籤)混合小腳本(<% %>that you shouldn't use at all)。

你也並不需要:用一個Iterator,你會得到一個IteratorStatus對象,可以用來作爲計數器:

<s:iterator value="campaignList" status="currRow"> 
    <sj:dialog id="DivQuestionAnswer%{#currRow.count}" ... > 

注意:#currRow.count爲1,#currRow.index爲0。

0

「」你已經把櫃檯雙引號裏面,所以它不會工作。

"\"" + <%=counter%>+ "\""