java - For loop issue in Struts 2 -


i found below code in jsp @ somewhere.

  <%     int cnt =1;     for(int i=1;i<=itotalweeks;i++)     {     %>     <tr>       <%          for(int j=1;j<=7;j++)         {             if(cnt<weekstartday || (cnt-weekstartday+1)>days)             {              %>             <td align="center" height="35">&nbsp;</td>            <%              }             else             {              %>             <td align="center" height="35" id="day_<%=(cnt-weekstartday+1)%>"><span><%=(cnt-weekstartday+1)%></span></td>            <%              }             cnt++;           }         %>     </tr>     <%      }     %> 

now i'm doing same in struts2. i'm stuck in middle of coding. how compare current jsp variable cnt action class's variable.

 <s:set var="cnt" value="1" />     <s:iterator begin="1" end="%{itotalweeks}">     <tr>         <s:iterator begin="1" end="7">              <s:if test='%{cnt<weekstartday || (cnt-weekstartday+1)>days}'>                     <td align="center" height="35">&nbsp;</td>            </s:if>            <s:else>             <td align="center" height="35"><s:property value="${(cnt-weekstartday+1)}" /><s:property value="${1}" /></td>             </s:else>           <s:set var="cnt" value="${cnt + 1}"/>           </s:iterator>     </tr>     </s:iterator> 

in above code weekstartday, days , itotalweeks variables in action class , cnt variable in current jsp.

 public int getdays() {     return days; }  public int getweekstartday() {     return weekstartday; }  public int getitotalweeks() {     return itotalweeks; } 

in s:if tag test attribute don't use %{}.

<s:set var="cnt" value="1" /> <s:iterator begin="1" end="%{itotalweeks}"> <tr>   <s:iterator begin="1" end="7">     <s:if test='#cnt<weekstartday || #cnt-weekstartday+1>days'>             <td align="center" height="35">&nbsp;</td>    </s:if>    <s:else>     <td align="center" height="35"id="day_<s:property value='%{#cnt-weekstartday+1}'/>"><span><s:property value='%{#cnt-weekstartday+1}'/></span></td>     </s:else>   </s:iterator>   <s:set var="cnt" value="%{#cnt + 1}"/> </tr> </s:iterator> 

Comments