项目中有一个页面,控件的个数是不确定的
选择的业务对象不同,需要的控件个数不同,根据后台返回的数据,显示页面控件
用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>