JSTL 在循环中每第 5 个字段集创建一个新行

Doc*_*day 5 html jsp jstl

您好,我目前正在迭代并显示表中的字段集列表。为了尝试使布局有点体面。每次循环到达第 5 个 fieldSet 时,我都想创建一个新行。谢谢

JSP:

<div class="det" id="displayFields">
    <table class="det">
        <tr>
            <td>
                <c:forEach items="${detFieldMap}" var="detFieldEntry">     
                    <fieldset class="det">         
                        <legend>${detFieldEntry.key}</legend>  
                        <c:forEach items="${detFieldEntry.value}" var="detBean">    
                            <input type="checkbox" name="fieldNames" value="${detBean.fieldName}" <c:if test="${preselectionMap[detBean.fieldName]}">checked="checked"</c:if>>${detBean.displayName}</input>          
                            </br>    
                        </c:forEach> 
                    </fieldset> 
                </c:forEach>
            </td>
        </tr>
    </table>
</div>
Run Code Online (Sandbox Code Playgroud)

Doc*_*day 4

这有效:

<div class="det" id="displayFields">
    <table class="det">
        <tr>
            <td>
                <c:forEach items="${detFieldMap}" var="detFieldEntry" varStatus="loop">
                    <c:if test="${not loop.first and loop.index % 5 == 0}"> 
                        </td>
                            </tr>
                        <tr>
                            <td>
                    </c:if>
                    <fieldset class="det">         
                        <legend>${detFieldEntry.key}</legend>  
                        <c:forEach items="${detFieldEntry.value}" var="detBean">    
                            <input type="checkbox" name="fieldNames" value="${detBean.fieldName}" <c:if test="${preselectionMap[detBean.fieldName]}">checked="checked"</c:if>>${detBean.displayName}</input>            
                            </br>    
                        </c:forEach> 
                    </fieldset>
                </c:forEach>
            </td>
        </tr>
    </table>
</div>
Run Code Online (Sandbox Code Playgroud)