Question

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.

Était-ce utile?

La solution

  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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top