Вопрос

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