JSTL双重for循环实现遍历

  在jsp页面中往往会有Checkbox框数据回显的时候遇到双重for循环,之前一直都是通过js来控制选中的,这次写了个jstl的方法,如果有更好的,希望有回帖!

  <div class="form-group">
	<label class="col-sm-3 control-label">分类*:</label>
	<div class="col-sm-8 innerbox" id="categorydiv">
		<c:forEach items="${list }" var="ca"> 	<!-- 外层循环 -->
			<c:set var="eq_val" value="false"></c:set> <!-- 先设置两个值不相同 -->
			<c:forEach items="${cids }" var="ci">	<!-- 内层循环 -->
				<c:if test="${ci eq ca.id }">
					<c:set var="eq_val" value="true"></c:set>	<!-- 如果值相同修改属性 -->
				</c:if>
			</c:forEach>
			<label class="checkbox-inline"> <!-- 最后根据属性值来判断 -->
				<input type="checkbox" <c:if test="${eq_val }">checked="checked"</c:if> value="${ca.id }" name="category" id="${ca.id }"/><span>${ca.name }</span>  
			</label>
		</c:forEach>
	</div>
   </div>

  

猜你喜欢

转载自www.cnblogs.com/yugb/p/9588332.html