-1

単一の tr に 4 つの値を表示し、次の tr に次の 4 つの値を表示しようとしています。しかし、私の以下のコードでは、すべての値が単一の 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 に答える