最优方案:
<c:forEach items="${waterLevel}" var="device" varStatus="wl">
<tr>
<c:if test="${wl.index==0}">
<th rowspan="${waterLevelLimitSumNum}">水位计2</th>
</c:if>
<th rowspan="${device.limitDataList.size()}">${device.name}</th>
<c:forEach items="${device.limitDataList}" var="limi" begin="0" end="0">
<td>${limi.parName}</td>
<td>
<input class="noborder" name="maxValue" value="${limi.maxLimit}" maxlength="7"/>
<input name="devId" value="${limi.deviceId}" type="hidden"/>
<input name="parNam" value="${limi.parName}" type="hidden"/>
</td>
<td>
<input class="noborder" name="minValue" value="${limi.minLimit}" maxlength="7"/>
</td>
<td><input type="checkbox" id="${limi.deviceId}" name="${limi.parName}"/></td>
</c:forEach>
</tr>
<c:if test="${device.limitDataList.size()>1}">
<tr>
<c:forEach items="${device.limitDataList}" var="limi" begin="1" >
<td>${limi.parName}</td>
<td>
<input class="noborder" name="maxValue" value="${limi.maxLimit}" maxlength="7"/>
<input name="devId" value="${limi.deviceId}" type="hidden"/>
<input name="parNam" value="${limi.parName}" type="hidden"/>
</td>
<td>
<input class="noborder" name="minValue" value="${limi.minLimit}" maxlength="7"/>
</td>
<td><input type="checkbox" id="${limi.deviceId}" name="${limi.parName}"/></td>
</c:forEach>
</tr>
</c:if>
</c:forEach>
其次方案:
<c:forEach items="${waterLevel}" var="device" varStatus="wl">
<tr>
<c:if test="${wl.index==0}">
<th rowspan="${waterLevelLimitSumNum}">水位计1</th>
</c:if>
<th rowspan="${device.limitDataList.size()}">${device.name}</th>
<td>${device.limitDataList.get(0).parName}</td>
<td>
<input class="noborder" name="maxValue" value="${device.limitDataList.get(0).maxLimit}" maxlength="7"/>
<input name="devId" value="${device.limitDataList.get(0).deviceId}" type="hidden"/>
<input name="parNam" value="${device.limitDataList.get(0).parName}" type="hidden"/>
</td>
<td>
<input class="noborder" name="minValue" value="${device.limitDataList.get(0).minLimit}" maxlength="7"/>
</td>
<td><input type="checkbox" id="${device.limitDataList.get(0).deviceId}" name="${device.limitDataList.get(0).parName}"/></td>
</tr>
<c:if test="${device.limitDataList.size()==2}">
<tr>
<td>${device.limitDataList.get(1).parName}</td>
<td>
<input class="noborder" name="maxValue" value="${device.limitDataList.get(1).maxLimit}" maxlength="7"/>
<input name="devId" value="${device.limitDataList.get(1).deviceId}" type="hidden"/>
<input name="parNam" value="${device.limitDataList.get(1).parName}" type="hidden"/>
</td>
<td>
<input class="noborder" name="minValue" value="${device.limitDataList.get(1).minLimit}" maxlength="7"/>
</td>
<td><input type="checkbox" id="${device.limitDataList.get(1).deviceId}" name="${device.limitDataList.get(1).parName}"/></td>
</tr>
</c:if>
</c:forEach>
最差方案:
<c:forEach items="${waterLevel}" var="device" varStatus="wl">
<tr>
<c:if test="${wl.index==0}">
<th rowspan="${waterLevelLimitSumNum}">水位计3</th>
</c:if>
<th rowspan="${device.limitDataList.size()}">${device.name}</th>
<c:if test="${device.limitDataList.size()==1}">
<c:forEach items="${device.limitDataList}" var="limi" >
<c:if test="${limi.parName=='moisturize'}" >
<td>补水水位</td>
<td>
<input class="noborder" name="maxValue" value="${limi.maxLimit}" maxlength="7"/>
<input name="devId" value="${limi.deviceId}" type="hidden"/>
<input name="parNam" value="${limi.parName}" type="hidden"/>
</td>
<td>
<input class="noborder" name="minValue" value="${limi.minLimit}" maxlength="7"/>
</td>
<td><input type="checkbox" id="${limi.deviceId}" name="${limi.parName}"/></td>
</c:if>
<c:if test="${limi.parName=='condensated_water'}" >
<td>凝水水位</td>
<td>
<input class="noborder" name="maxValue" value="${limi.maxLimit}" maxlength="7"/>
<input name="devId" value="${limi.deviceId}" type="hidden"/>
<input name="parNam" value="${limi.parName}" type="hidden"/>
</td>
<td>
<input class="noborder" name="minValue" value="${limi.minLimit}" maxlength="7"/>
</td>
<td><input type="checkbox" id="${limi.deviceId}" name="${limi.parName}"/></td>
</c:if>
</c:forEach>
</tr>
</c:if>
<c:if test="${device.limitDataList.size()==2}">
<c:forEach items="${device.limitDataList}" var="limi" >
<c:if test="${limi.parName=='moisturize'}" >
<td>补水水位</td>
<td>
<input class="noborder" name="maxValue" value="${limi.maxLimit}" maxlength="7"/>
<input name="devId" value="${limi.deviceId}" type="hidden"/>
<input name="parNam" value="${limi.parName}" type="hidden"/>
</td>
<td>
<input class="noborder" name="minValue" value="${limi.minLimit}" maxlength="7"/>
</td>
<td><input type="checkbox" id="${limi.deviceId}" name="${limi.parName}"/></td>
</c:if>
</c:forEach>
</tr>
<tr>
<c:forEach items="${device.limitDataList}" var="limi" >
<c:choose>
<c:when test="${limi.parName=='condensated_water'}">
<td>凝水水位</td>
<td>
<input class="noborder" name="maxValue" value="${limi.maxLimit}" maxlength="7"/>
<input name="devId" value="${limi.deviceId}" type="hidden"/>
<input name="parNam" value="${limi.parName}" type="hidden"/>
</td>
<td>
<input class="noborder" name="minValue" value="${limi.minLimit}" maxlength="7"/>
</td>
<td><input type="checkbox" id="${limi.deviceId}" name="${limi.parName}"/></td>
</c:when>
</c:choose>
</c:forEach>
</tr>
</c:if>
</c:forEach>