0

div id 中的 Scriptlet 变量

我有与上述链接相同的问题,但使用 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>

我知道使用 scriptlet 不好,但至少它应该可以工作。

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 回答