Диалоговое окно Struts не принимает сценарий JSP

Я использую struts dialog box на странице jsp. Я хочу, чтобы 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>

Но он всегда принимает идентификатор как DivQuestionAnswer<%=counter%>. Не как DivQuestionAnswer1, DivQuestionAnswer2, DivQuestionAnswer3.


person Amit Das    schedule 10.06.2015    source источник


Ответы (2)


Вы не можете смешивать скриптлеты (<% %>, которые не должны использовать вообще) с Теги Struts (или теги Struts2-jQuery).

Также вам не нужно: с помощью Iterator вы получаете IteratorStatus, который можно использовать как счетчик:

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

Примечание: #currRow.count отсчитывается от 1, #currRow.index отсчитывается от 0.

person Andrea Ligios    schedule 10.06.2015

`" Вы поместили счетчик в двойные кавычки, так что он не будет работать.

"\"" + <%=counter%>+ "\""
person Lijo    schedule 10.06.2015