質問

Scriptlet variable in div id

I have the same question as in the above link but with Struts2, when I put the code within as below it does not work.

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

I know this is not good to use scriptlet, but atleast it should work.

役に立ちましたか?

解決

  1. Avoid scriptlets
  2. Your code will generate multiple element with the same ID, that is not allowed.

Solution:

  1. Use Struts Iterator
  2. Place both variables in 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>

Note that

The begin, end and step attributes are only available from 2.1.7 on

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top