【问题标题】:JSTL create a new row every 5th fieldset in a loopJSTL 在循环中每 5 个字段集创建一个新行
【发布时间】:2012-03-18 03:54:35
【问题描述】:

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

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>

【问题讨论】:

    标签: html jsp jstl


    【解决方案1】:

    这行得通:

    <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>
    

    【讨论】:

    • 考虑到循环的索引是从零开始的,你可能想要做类似&lt;c:if test="${not loop.first and (loop.index + 1) % 5 == 0}"&gt;
    猜你喜欢
    • 2021-08-11
    • 2015-06-29
    • 2018-04-02
    • 1970-01-01
    • 2011-10-22
    • 2012-09-27
    • 2016-04-13
    • 2016-08-03
    • 1970-01-01
    相关资源
    最近更新 更多