工作中遇到到jsp<c:forEach>应用遍历时用逗号隔开,遍历到最后一个时用句号
2016-01-18 16:20
525 查看
当时做这个遍历方法时,用好多奇奇怪怪的方法。都没有实现。后面用<c:forEach>的一个属性两句代码就解决了;
<p>
<c:forEach var="reward" items="${item.rewardRuleList}" varStatus="index">
${reward.show_remark}
<c:if test="${index.last==false}">
,
</c:if>
</c:forEach></p>
用index.last来判断是不是在遍历最后一个用(true\false);
例如结果是:啊啊啊啊啊,啊水水水水
<c:forEach>标签用于通用数据循环,它有以下属性
vaStatus 属性
JSTL中的varStatus和 var 属性一样, varStatus 用于创建限定了作用域的变量。不过,由varStatus 属性命名的变量并不存储当前索引值或当前元素,而是赋予 javax.servlet.jsp.jstl.core.LoopTagStatus 类的实例。该类定义了一组特性,它们描述了迭代的当前状态,下面列出了这些特性:
用c:forEach 中vaStatus的属性可以获得迭代的自身状态,如:
<c:forEach var="" items="" varStatus="status">
<c:out value="${status.current}"/> 当前对象
<c:out value="${status.index}"/> 此次迭代的索引
<c:out value="${status.count}"/> 已经迭代的数量
<c:out value="${status.first}"/> 是否是第一个迭代对象
<c:out value="${status.last}"/> 是否是最后一个迭代对象
</c:forEach>
<c:forEach>标签的items属性支持Java平台所提供的所有标准集合类型。此外,您可以使用该操作来迭代数组(包括基本类型数组)中的元素。它所支持的集合类型以及迭代的元素如下所示:
java.util.Collection:调用iterator()来获得的元素。
java.util.Map:通过java.util.Map.Entry所获得的实例。
java.util.Iterator:迭代器元素。
java.util.Enumeration:枚举元素。
Object实例数组:数组元素。
基本类型值数组:经过包装的数组元素。
用逗号定界的String:分割后的子字符串。
javax.servlet.jsp.jstl.sql.Result:SQL查询所获得的行。
<p>
<c:forEach var="reward" items="${item.rewardRuleList}" varStatus="index">
${reward.show_remark}
<c:if test="${index.last==false}">
,
</c:if>
</c:forEach></p>
用index.last来判断是不是在遍历最后一个用(true\false);
例如结果是:啊啊啊啊啊,啊水水水水
<c:forEach>标签用于通用数据循环,它有以下属性
属 性 | 描 述 | 是否必须 | 缺省值 |
items | 进行循环的项目 | 否 | 无 |
begin | 开始条件 | 否 | 0 |
end | 结束条件 | 否 | 集合中的最后一个项目 |
step | 步长 | 否 | 1 |
var | 代表当前项目的变量名 | 否 | 无 |
varStatus | 显示循环状态的变量 | 否 | 无 |
JSTL中的varStatus和 var 属性一样, varStatus 用于创建限定了作用域的变量。不过,由varStatus 属性命名的变量并不存储当前索引值或当前元素,而是赋予 javax.servlet.jsp.jstl.core.LoopTagStatus 类的实例。该类定义了一组特性,它们描述了迭代的当前状态,下面列出了这些特性:
特性 Getter 描述current getCurrent() 当前这次迭代的(集合中的)项 index getIndex() 当前这次迭代从 0 开始的迭代索引 count getCount() 当前这次迭代从 1 开始的迭代计数 first isFirst() 用来表明当前这轮迭代是否为第一次迭代的标志 last isLast() 用来表明当前这轮迭代是否为最后一次迭代的标志 begin getBegin() begin 属性值 end getEnd() end 属性值 step getStep() step 属性值
用c:forEach 中vaStatus的属性可以获得迭代的自身状态,如:
<c:forEach var="" items="" varStatus="status">
<c:out value="${status.current}"/> 当前对象
<c:out value="${status.index}"/> 此次迭代的索引
<c:out value="${status.count}"/> 已经迭代的数量
<c:out value="${status.first}"/> 是否是第一个迭代对象
<c:out value="${status.last}"/> 是否是最后一个迭代对象
</c:forEach>
<c:forEach>标签的items属性支持Java平台所提供的所有标准集合类型。此外,您可以使用该操作来迭代数组(包括基本类型数组)中的元素。它所支持的集合类型以及迭代的元素如下所示:
java.util.Collection:调用iterator()来获得的元素。
java.util.Map:通过java.util.Map.Entry所获得的实例。
java.util.Iterator:迭代器元素。
java.util.Enumeration:枚举元素。
Object实例数组:数组元素。
基本类型值数组:经过包装的数组元素。
用逗号定界的String:分割后的子字符串。
javax.servlet.jsp.jstl.sql.Result:SQL查询所获得的行。
相关文章推荐
- 谈谈Ext JS的组件——布局的用法续二
- javascript 学习资料网址一览
- DOM 事件下拉菜单实例
- 对json格式的数据进行解析
- 在客户端使用JSONP做跨域请求
- 图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
- cJson 创建与解析
- 利用Javascript来创建Ubuntu Scope
- javascript逻辑运算符“||”和“&&”
- 图片左右滚动的js代码
- JSP自定义标签由浅到深详细讲解(全)
- 简易富文本编辑器
- JSON
- DOM事件探秘之三-键盘事件
- jsonp 使用记录(二)跨域设置cookie
- 理解JavaScript中Promise的使用
- JS日期:根据出生日期 得到周岁年龄
- 使用rapidjson生成json串
- js split 的用法和定义 js split分割字符串成数组的实例代码
- .net 接口返回json格式示例