JSTL之迭代标签库
JSTL之迭代标签库
JSTL的全称是 Java Server Pages Standard Tag Library,翻译过来就是JSP标准标签库,它包含了在开发JSP页面时经常用到的一组标准标签。这些标签提供了一种不用嵌入Java代码就可以开发复杂的JSP页面的方法。
在JSTL中一共有5大类标签库,其中有一个重要的核心标签库,而核心标签库根据功能不同又分为通用标签库、条件标签库、迭代标签库,今天我们要说的就是其中的迭代标签库。
在JSP的开发中,我们经常需要对集合对象进行迭代操作。例如,列表显示查询结果等,以往通常使用java代码实现集合对象的遍历,如List,Iterator等。现在我们所说的JSTL的迭代标签可以在很大程度上简化迭代操作。
<c:forEach>标签有两种语法格式,一种用于遍历集合对象的成员,另一种用于使语句循环执行指定的次数,下面我们来一一列举。
1.遍历集合对象的成员
<c:forEach var="varName" items="collectionName" varStatus="varStatuwsName"
begin="beginIndex" end="endIndex" step="step">显示内容</c:forEach>
上面就是一个forEach标签的基本语法格式,其中var属性是代表当前遍历的成员,items是指被迭代的集合对象,varStatus属性用于存放var引用的成员的相关信息,如索引等,begin表示开始的位置,默认为0,end表示结束为止,step表示循环的步长,默认为1。好了,现在我们已经知道了他的基本语法和各属性的作用,那么把他带入到程序中是怎样的呢?下面就用一个简单的Demo来个大家一个直观的呈现:
<%
List<String> list = new ArrayList<String>();
list.add("小明");
list.add("小红");
list.add("小刚");
request.setAttribute("list",list);
%>
<c:forEach var="varName" items="${list}" varStatus="varStatusName">
${varName}
</c:forEach>
这样就实现了一个简单的迭代效果,一般JSTL标签要和EL表达式联用,这样就可以简便的获取和输出数据。大家也看到了,这样直接遍历循环对象很简单,那么我们继续看他的下一种语法格式,也就是指定语句的执行次数。
2.指定语句的执行次数:
<c:forEach var="varName" varStatus="varStatuwsName"
begin="beginIndex" end="endIndex" step="step">显示内容</c:forEach>
是不是看起来很熟悉呢,他的语法和上面没有太大不同,区别就是格式2不是对一个集合对象遍历,而是根据制定的begin属性,end属性以及step属性执行主体内容固定的次数。这种方法在实际开发中非常广泛,在很多开发中都要显示列表,报表,下面我们就用一个人员列表隔行变色的核心代码来演示他的效果:
<table style="border:1px solid blue; width: 400px;">
<tr style="font-weight: bold; ">
<td>姓名</td><td>职位</td><td>年龄</td>
</tr>
<!--在servlet页面已经加进去一个集合-->
<c:forEach var="varName" items="${list}" varStatus="status">
<tr <c:if test="${status.index%2==0}">style="background-color: pink"</c:if></tr>
<td>${varName.name}</td><td>${varName.job}</td><td>${varName.age}</td>
</tr>
</c:forEach>
</table>
这样就有了一个好看的隔行变色效果:

是不是很好用呢?如果要用jquery或是HTML代码实现这种和数据库连接的样式会非常麻烦,使用JSTL标签让代码变得简便,并且其中的条件标签可以让代码多出更多的变化。
JSTL之迭代标签库的更多相关文章
- (5)JSTL的xml标签库
Jstl的XML标签库 JSTL提供了操作xml文件的标签库,使用xml标签库可以省去使用Dom和SAX标签库的繁琐,能轻松的读取xml文件的内容. <%@ taglib uri="h ...
- (4)JSTL的SQL标签库
jstl的SQL标签库 SQL tag Library中的标签用来提供在 JSP 页面中可以与数据库进行交互的功能Database access标签库有以下6组标签来进行工作: <sql:set ...
- JSTL I18N 格式标签库
<%@ page language="java" pageEncoding="gbk"%> <%@ taglib prefix="c ...
- Java_jsp.jstl.Function函数标签库.记录
JSTL Functions标签库 本书第12章的12.3节(定义和使用EL函数)介绍了EL函数的创建和使用方法.在JSTL Functions标签库中提供了一组常用的EL函数,主要用于处理字符串,在 ...
- JSTL (标准标签库)
JSTL(标准标签库) 作用: Web程序员能够利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序的阅读性.维护性和方便性. 使用方法:J ...
- JSTL 数字日期标签库
<frm:formatNumber/>标签 该标签依据特定的区域将数字改变为不同的格式来显示. 被格式化的数据<frm:formatNumber> <fmt:format ...
- JSTL标签库之核心标签
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- jstl标签库基础教程及其使用代码
概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...
- JSTL标签库大全
JSTL简介: 标准标签库JSTL的全名为:Java Server Pages Standard Tag Library. JSTL主要提供了5大类标签库: 1. 核心标签库: 为日常任务 ...
随机推荐
- utf8乱码解决方案[适合tomcat部署的jsp应用]
转:http://blog.csdn.net/cn_gaowei/article/details/6673539 1. java类: CharacterEncodingFilter im ...
- Java算法实例集合
这里是princeton搜集的算法课程Java示例.包括超过了100 Java个算法程序源码.Javadoc和测试数据.点击这里查看.
- javax.naming.NameNotFoundException:Name[ XXX] is not bound in this context.
在用局部数据源去连数据库的时候,在本地的项目中,都是可以的,可是一部署到服务器上,就报错了. 报的错误是:javax.naming.NameNotFoundException:Name[ XXX] i ...
- MySQL Optimizer Tracemy 与 logmnr:MySQL binlog logmnr----MYSQL 邱伟胜 专家博客
http://www.noodba.com/ http://www.yhddba.com/?tag=mylogmnr https://github.com/noodba
- 数据库性能测试---前阿里数据库团队资深DBA杨奇龙
杨奇龙 前阿里数据库团队资深DBA 主要负责淘宝业务线,经历多次11.11,有海量业务访问DB架构设计经验. 目前就职于有赞科技DBA,负责数据库运维工作,熟悉MySQL 性能优化,故障诊断,性能压测 ...
- C#_MVC_ajax for form
在上一篇介绍MVC中的Ajax实现方法的时候,曾经提到了除了使用Ajax HTML Helper方式来实现之外,Jquery也是实现Ajax的另外一种方案. 通过get方法实现AJax请求 View ...
- IIS 之 查看并发连接数
如果要查看IIS连接数,最简单方便的方法是通过“网站统计”来查看,“网站统计”的当前在线人数可以认为是当前IIS连接数.然而,“网站统计”的当前在线人数统计时间较长,一般为10分钟或15分钟,再加上统 ...
- JAVA_java关联源码
java怎样关联源码?? 1,按住control键,点一下你要看源码的类,跳到如下界面: 2,单击,跳到下一个界面 3,继续,找到jdk按照路径,找到src.zip文件 4. 4. 点击OK就可以看源 ...
- Linux 系统下原版 texlive 2016 的安装与配置
尽管大部分常见的linux系统的包管理器内都会包含texlive,然而最好还是安装TUG发布的原版texlive.这是由于:1,软件仓库内的texlive通常版本较陈旧:2,由于版权因素一些tex宏包 ...
- 用happen-before规则重新审视DCL(转载)
编写Java多线程程序一直以来都是一件十分困难的事,多线程程序的bug很难测试,DCL(Double Check Lock)就是一个典型,因此对多线程安全的理论分析就显得十分重要,当然这决不是说对多线 ...