项目____利用JSTL、EL表达式动态设置各种..
2015-09-21 10:48
681 查看
利用JSTL、EL表达式进行动态宽度设置:
利用JSTL,使EL表达式进行动态取值:
<c:set var="coefficient" value="${fn:length(list) }"></c:set> <tr> <th colspan="6" rowspan="5" style="text-align:center;vertical-align:middle;">评分标准</th> <th colspan="${coefficient }" style="text-align:center;vertical-align:middle;">分数</th> </tr>
利用JSTL,使EL表达式进行动态取值:
<c:forEach items="${list }" var="config" varStatus="index"> <c:set var="img" value="${config.config_key}img" ></c:set> <c:set var="key" value="${config.config_key}description" ></c:set> <c:set var="score" value="${config.config_key}score" ></c:set> <td style="text-align:left;" onclick="showUploadImg(${info.id},'${config.config_key }')"> <img alt="图片描述" src="${ctx}/${info
其中:varStatus是<c:forEach>jstl循环标签的一个属性,varStatus属性。
就拿varStatus=“status”来说,事实上定义了一个status名的对象作为varStatus的绑定值。该绑定值也就是status封装了当前遍历的状态,比如,可以从该对象上查看是遍历到了第几个元素:${status.count}
我们常会用c标签来遍历需要的数据,为了方便使用,varStatus属性可以方便我们实现一些与行数相关的功能,如:奇数行、偶数行差异;最后一行特殊处理等等。先就varStatus属性常用参数总结下:
${status.index} 输出行号,从0开始。
${status.count} 输出行号,从1开始。
${status.current} 当前这次迭代的(集合中的)项
${status.first} 判断当前项是否为集合中的第一项,返回值为true或false
${status.last} 判断当前项是否为集合中的最后一项,返回值为true或false
begin、end、step分别表示:起始序号,结束序号,跳跃步伐。
如:<c:forEach begin='1' end='5' step='2' items='${list}' var='item'>表示:操作list集合汇中1~5条数据,不是逐条循环,而是按每2个取值。即操作集合中的第1、3、5条数据。
下面是我从网上找的图,觉得挺好,收藏了:
[img]http://img.blog.csdn.net/20150921103035435" border="0" >
我们最常用的就是count和index,用来搞斑马线表格
常见的用法的是<c:forEach var="varity" items="${sessionScope.myList}" varStatus="status"> <span style="white-space:pre"> </span><!--实现斑马线效果--> <span style="white-space:pre"> </span><c:if test="${status.count%2==0}" > <span style="white-space:pre"> </span><tr bgcolor="lightyellow"> <span style="white-space:pre"> </span></c:if> <span style="white-space:pre"> </span><c:if test="${status.count%2!=0}" > <span style="white-space:pre"> </span><tr> <span style="white-space:pre"> </span></c:if> <span style="white-space:pre"> </span><td>Elements</td> <span style="white-space:pre"> </span></tr> </c:forEach> <c:forEach var="varity" items="${sessionScope.myList}" varStatus="status"> ${status.first}/${status.last} 当前:${status.current} </c:forEach></span>
c:forTokens标签进行循环输出:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>c:forTokens 标签实例</title> </head> <body> <span style="white-space:pre"> </span><c:forTokens items="Zara,nuha,roshy" delims="," var="name"> <span style="white-space:pre"> </span><c:out value="${name}"/> <span style="white-space:pre"> </span></c:forTokens> </body> </html></span>
以,号作为字符串分隔!变量名 delims属性可以随便加,可以有一个多或多个 作为分隔符。
tokens属性说明表:
相关文章推荐
- Ember.js 入门指南——调试助手
- threejs翻译 MeshDepthMaterial 网格深度材质
- css代码模拟时钟 +js对时
- 关于原生js的一些研究
- 浅析JSONP之解决ajax跨域问题
- Jsp中Forward使用小实例
- javascript:void(0)
- JSP超链接传递多个参数
- JavaScript 高级程序设计 (1-5)
- Jsonp实现Ajax跨域Demo
- javascript 继承
- jsonp详解
- javascript前台split处理字符串
- JSP遍历后台传过来的List
- ExtJs-define定义一个类
- 最完美解决方案:js弹出窗口关闭当前页面,而不弹出提示框
- JavaScript之typedof,instanceof,Array.isArray()
- JSP中的打印列表
- Jsp如何进行动态分页
- JSTL I18N 格式标签库 使用之一_____数字日期格式化