JSTL标签显示动态控件

项目中有一个页面,控件的个数是不确定的
选择的业务对象不同,需要的控件个数不同,根据后台返回的数据,显示页面控件
用JSTL循环实现,样式是设计好的,每一行3个控件

<div class="searchStyle">
    <div class="searchTitleStyle">
        <button class="searchTitleFontStyle">其他信息</button>
    </div>
    <div class="searchContentStyle">
            <%--总数量--%>
        <c:set var="total" value="0"/>
        <c:forEach items="${sbimds}" var="t" varStatus="status">
            <c:set var="total" value="${status.index+1}"/>
        </c:forEach>
            <%--总组数--%>
        <c:set var="outForeachNumber" value="${Math.ceil(total / 3)}"/>
            <%--外循环--%>
        <c:forEach var="i" begin="1" end="${outForeachNumber}" varStatus="statusOut">
            <c:set var="nowNumber" value="${statusOut.index}"/>
            <c:choose>
                <c:when test="${nowNumber==1}">
                    <div class="searchContentRowTopStyle">
                        <div class="boxStyle rowleft"></div>
                            <%--内循环--%>
                        <c:forEach items="${sbimds}" var="t" varStatus="statusTop">
                            <c:set var="frontIndex" value="${statusTop.index+1}"/>
                            <c:if test="${frontIndex<=3}">
                                <%--选择框--%>
                                <c:if test="${t.dataInputTypeEnum.value eq 3}">
                                    <div>
                                        <label path="" class="labelStyle">${t.sampBizFieldTitle}:</label>
                                    </div>
                                    <div class="controls" title="请选择">
                                        <select id="ext.${t.sampBizFieldCode}" name="ext.${t.sampBizFieldCode}"
                                                class="inputStyle">
                                            <c:forEach items="${t.comboDatas}" var="map1">
                                                <c:forEach items="${map1}" var="c">
                                                    <option value="${c.key}" ${c.key eq m.customerId?'selected="selected"':''}>${c.value}</option>
                                                </c:forEach>
                                            </c:forEach>
                                        </select>
                                    </div>
                                </c:if>
                                <%--日期--%>
                                <c:if test="${t.sampBizFieldTypeEnum.value eq '2'}">
                                    <div>
                                        <label path="" class="labelStyle">${t.sampBizFieldTitle}:</label>
                                    </div>
                                    <div class="controls input-append date">
                                        <input id="ext.${t.sampBizFieldCode}" name="ext.${t.sampBizFieldCode}"
                                               data-format="yyyy-MM-dd hh:mm:ss"
                                               data-position="bottom-left"
                                               placeholder="请选择时间"
                                               cssClass="validate[required]"
                                               class="inputStyle"/>
                                        <span class="add-on"><i data-time-icon="icon-time"
                                                                data-date-icon="icon-calendar"></i></span>
                                    </div>
                                </c:if>
                                <%--数字--%>
                                <c:if test="${t.sampBizFieldTypeEnum.value eq '1' and t.dataInputTypeEnum.value ne '3'}">
                                    <div>
                                        <label path="" class="labelStyle">${t.sampBizFieldTitle}:</label>
                                    </div>
                                    <div class="controls">
                                        <input type="number" id="ext.${t.sampBizFieldCode}"
                                               name="ext.${t.sampBizFieldCode}"
                                               step="0.01" class="inputStyle"/>
                                    </div>
                                </c:if>
                                <%--字符串--%>
                                <c:if test="${t.sampBizFieldTypeEnum.value eq '0' and t.dataInputTypeEnum.value ne '3'}">
                                    <div>
                                        <label path="" class="labelStyle">${t.sampBizFieldTitle}:</label>
                                    </div>
                                    <div class="controls">
                                        <input id="ext.${t.sampBizFieldCode}" name="ext.${t.sampBizFieldCode}"
                                               type="text"
                                               class="inputStyle"/>
                                    </div>
                                </c:if>
                            </c:if>
                        </c:forEach>
                        <div class="rowright"></div>
                    </div>
                </c:when>
                <c:otherwise>
                    <div class="searchContentRowMiddleStyle">
                        <div class="boxStyle rowleft"></div>
                            <%--外循环--%>
                        <c:set var="beginIndex" value="${nowNumber*3-2}"/>
                        <c:set var="endIndex" value="${nowNumber*3}"/>
                        <c:forEach items="${sbimds}" var="t" varStatus="statusMiddle">
                            <c:set var="frontIndex" value="${statusMiddle.index+1}"/>
                            <c:if test="${frontIndex>=beginIndex && frontIndex<=endIndex}">
                                <%--选择框--%>
                                <c:if test="${t.dataInputTypeEnum.value eq 3}">
                                    <div>
                                        <label path="" class="labelStyle">${t.sampBizFieldTitle}:</label>
                                    </div>
                                    <div class="controls" title="请选择">
                                        <select id="ext.${t.sampBizFieldCode}" name="ext.${t.sampBizFieldCode}"
                                                class="inputStyle">
                                            <c:forEach items="${t.comboDatas}" var="map1">
                                                <c:forEach items="${map1}" var="c">
                                                    <option value="${c.key}" ${c.key eq m.customerId?'selected="selected"':''}>${c.value}</option>
                                                </c:forEach>
                                            </c:forEach>
                                        </select>
                                    </div>
                                </c:if>
                                <%--日期--%>
                                <c:if test="${t.sampBizFieldTypeEnum.value eq '2'}">
                                    <div>
                                        <label path="" class="labelStyle">${t.sampBizFieldTitle}:</label>
                                    </div>
                                    <div class="controls input-append date">
                                        <input id="ext.${t.sampBizFieldCode}" name="ext.${t.sampBizFieldCode}"
                                               data-format="yyyy-MM-dd hh:mm:ss"
                                               data-position="bottom-left"
                                               placeholder="请选择时间"
                                               cssClass="validate[required]"
                                               class="inputStyle"/>
                                        <span class="add-on"><i data-time-icon="icon-time"
                                                                data-date-icon="icon-calendar"></i></span>
                                    </div>
                                </c:if>
                                <%--数字--%>
                                <c:if test="${t.sampBizFieldTypeEnum.value eq '1' and t.dataInputTypeEnum.value ne '3'}">
                                    <div>
                                        <label path="" class="labelStyle">${t.sampBizFieldTitle}:</label>
                                    </div>
                                    <div class="controls">
                                        <input type="number" id="ext.${t.sampBizFieldCode}"
                                               name="ext.${t.sampBizFieldCode}"
                                               step="0.01" class="inputStyle"/>
                                    </div>
                                </c:if>
                                <%--字符串--%>
                                <c:if test="${t.sampBizFieldTypeEnum.value eq '0' and t.dataInputTypeEnum.value ne '3'}">
                                    <div>
                                        <label path="" class="labelStyle">${t.sampBizFieldTitle}:</label>
                                    </div>
                                    <div class="controls">
                                        <input id="ext.${t.sampBizFieldCode}" name="ext.${t.sampBizFieldCode}"
                                               type="text"
                                               class="inputStyle"/>
                                    </div>
                                </c:if>
                            </c:if>
                        </c:forEach>
                        <div class="rowleft"></div>
                    </div>
                </c:otherwise>
            </c:choose>
        </c:forEach>
    </div>
</div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值