9

Struts2を使用してJSPに取り組んでいます。2つのリストを繰り返し処理し、<tr/>印刷されたそれぞれのバックグラウンドコードを変更する必要があります。

私のJSPスニペット:

<s:set var="counter" value="0" scope="page" />
<s:iterator value="listaContoCapitale" status="i">
    <s:iterator value="utilizzi" status="j">

    <s:if test="#counter == 0 || #counter % 2 == 0">
        <s:set var="trclass" value="'rigaSfondo1'" scope="page" />
    </s:if>
    <s:else>
        <s:set var="trclass" value="''" scope="page" />
    </s:else> 
    <tr class="${trclass}">
        ....tds
    </tr>
    </s:iterator>
    <s:set var="counter" value="here i have to change its value (increment it by1)" />
</s:iterator>

内側のループのステップごとにカウンターをインクリメントする必要があります。単純なstrutsタグでカウンター値をインクリメントする方法はありますか?Javaスクリプトレットを使用できることはわかっていますが、可能であれば、JSPを明確に保ちます。

4

2 に答える 2

17

#i.indexイテレータを使用するか、イテレータ内で参照変数を作成する必要はありません#i.count。イテレータタグ自体によってすでにインクリメントされています。

「カウント」は1ベース、「インデックス」は0ベースであることに注意してください。

常にドキュメントを確認してください。

それでも自分のカウンターが必要な場合

<s:set var="counter" value="0"/>

インクリメント

<s:set var="counter" value="%{#counter+1}"/>
于 2013-03-26T16:08:47.453 に答える
1

この簡単な方法を使用して、このstruts2の増分を実行できます

<s:set var="count" value="1"/>
<s:iterator value="yourlisthere">
<div><s:property value="#count" /><s:property/></div>
<s:set var="counter" value="%{#count+1}"/>
<s:set var="count" value="%{#counter}"/>
</s:iterator>

jsp struts2

于 2018-10-25T17:24:23.210 に答える