-1

我试图在单个 tr 中显示 4 个值,在下一个 tr 中显示接下来的四个值。但是在我下面的代码中,所有值都显示在一个带有长水平滚动的 tr 中。

我想显示我的列表值:每行有 4 个值,下一个 tr 中有 4 个值

请检查我的代码并告诉我解决问题的逻辑..

<s:if test="themes.size() > 0">  
   <table> 
      <s:iterator value="themes" status="userStatus"> 
               <tr> 
                        <td height="90%"> 
                 <s:property value="themeName" />                     
                        </td> 
               </tr>     

     </s:iterator>  
</table>   

我尝试的是以下代码:

 `<s:if test="themes.size() > 0">  
      <table>  
         <s:set var="index" value="%{0}" />
               <tr> 
                   <s:iterator value="themes" status="userStatus"> 
                        <td height="90%">
                                 <s:property value="themeName" /> 
                        </td>  
                         <s:set var="newindex" value="%{1 + #attr.index}" />   
                            <s:if test="#attr.newindex %4==0">
                                </tr><tr>
                             </s:if> 
                  </s:iterator>  
               </tr>      
          </table>   
      </s:if> 
4

1 回答 1

0

使用模块:

<s:if test="themes.size() > 0">
    <table>         
        <s:iterator value="themes" status="currentRecord">
            <s:if test="(#currentRecord.index % 4) == 0">
            <!-- Record is First of row: 1st, 5th, 9th etc -->
                <s:if test="#currentRecord.index > 0">                  
                    </tr><!-- It's not the first, close previous row -->
                </s:if>                 
                    <tr><!-- Open row -->
            </s:if>
                        <td>
                            <s:property value="themeName" />
                        </td>                      
        </s:iterator>                       
                    </tr><!-- close last open row -->
    </table>
</s:if>
于 2012-12-20T10:28:00.877 回答