0

div id のスクリプトレット変数

上記のリンクと同じ質問がありますが、Struts2 では、以下のようにコードを配置すると機能しません。

 <s:form>

        <%!int i, j;%>
        <%
            for (i = 0; i < 5; i++) {
        %>
        <%
            for (j = 0; j < 5; j++) {
        %>
        <div class="One" id="j<%=j%>">
            Hey<%=i%></div>
        <%
            }
        %>
        <%
            }
        %>
    </s:form>

これがスクリプトレットを使用するのに適していないことはわかっていますが、少なくとも機能するはずです。

4

1 に答える 1

1
  1. スクリプトレットを避ける
  2. コードは、許可されていない同じ ID を持つ複数の要素を生成します。

解決:

  1. Struts イテレータを使用する
  2. 両方の変数を ID に配置します。


<s:form>
    <s:iterator begin="0" end="5" status="i" >
        <s:iterator begin="0" end="5" status="j" >
            <div id="<s:property value="%{'i' + #i.index + 'j' + #j.index}"> ">
                Hey <s:property value="%{#i.index}"/> 
            </div>
        </s:iterator>
    </s:iterator>
</s:form>

ご了承ください

begin、end、および step 属性は、2.1.7 以降でのみ使用できます。

于 2013-09-25T13:59:10.500 に答える