c:foreach从第二个元素开始遍历 相关问题

今天遇到个关于Jstl 的<c:foreach></c:foreach>标签的使用问题,本来是想要通过jstl实现 从集合的第二个元素遍历数据,

常规的做法应该是这样,也比较易与理解,默认从下标为0 开始遍历 ,begin属性 表示遍历开始的下标位置,要从第二位开始,自然要设为 1,效果实现,代码及 效果如下图

<select class="form-control select-opt" id="a_company">
	    <option value="0">请选择...</option>
	<c:forEach begin="1" items="${companys }" var="com">
	    <option>${com.comName }</option>
	</c:forEach>
</select>

测试数据中,一共有五个数据,从第二个元素开始遍历,OK,效果实现。此外在网上看到另外一种写法,还不是很理解

<select class="form-control select-opt" id="a_company">
	<option value="0">请选择...</option>
    <c:forEach begin="1" end="${companys.size() - 1 }" var="i">
        <option>${companys[i].comName }</option>
    </c:forEach>   
</select>

此段代码同样实现了  上图的效果(从第二个元素开始遍历),个人是这么理解的,

var 通常情况下声明 的是被遍历的集合,相当于取了别名,而这段代码 没有items属性存在,

所有这个var声明的是元素下标,相当于:

for(var i = 1 , 0< i < list.size() , i++){

    <option>${ list [i] }.name</option>

}

小弟初入开发,如有理解不当,望各位能够指出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值