JSTL 的概念、作用 、使用步骤
JSTL的概念、
在“自定义标签”一章中,提高代码的重用性,简化jsp开发
JSTL也是一套标签库,不过是厂商已经定义好的标签库,
JSTL相对比较容易。
JSTL的本质及使用方法,与自定义标签完全相同。
JSTL也是由tld文件及标签处理类组成
使用JSTL的步骤也是与自定义标签相同:
使用<%@taglib%>导入tld文件
通过前缀调用标签,指定属性进行使用
JSTL包括哪些tld文件
JSTL无需我们开发,只要使用即可。使用标签库的时候,我们主要依据tld文件的定义使用,因此,需要先了解JSTL的tld文件。
目前常用的版本是JSTL1.1,包含5个tld文件
c.tld:c.tld称为核心标记库,包含一些Web应用常用标记,如循环、分支、表达式赋值和基本输入输出等,是最常使用的标记库。
fmt.tld:fmt.tld称为格式化/国际化标记库,包括用来解析数据的标记,如日期等。
sql.tld:sql.tld称为数据库标记库,包含访问数据库的标记。
x.tld:x.tld称为XML标记库,包含被用来访问XML元素的标记。
fn.tld:fn.tld称为函数标记库,包含了一些常用的函数,可以直接调用,例如,截取字符串等。
JSTL的作用
使用JSTL时,往往需要和EL一起使用,EL用来为JSTL属性赋值,用来在JSTL的标签体中显示数据等。
如果没有EL,JSTL的作用将大打折扣 ,当然,如果没有JSTL,EL也难发挥作用。
使用步骤1:获得JSTL相关资源
要使用JSTL,首先要把JSTL的tld文件以及类文件引入到工程中,有以下几种方法
1、下载jstl的jar文件,拷贝到WEB-INF\lib下,往往需要jstl.jar及standard.jar两个jar包,不同版本会有所不同
2、在使用MyEclipse时,选择JavaEE6版本创建工程,将自动引入JSTL相关资源
类文件:Java EE Libraries\jstl-impl.jar 是JSTL的所有类文件jar包
tld: Java EE Libraries\jstl-impl.jar \META-INF 存在若干tld文件
使用步骤2:使用taglib指令,选择使用tld文件
使用标签库,首先需要把要使用的标签库的tld文件引入到JSP中
JSTL目前常用版本是1.1,共有五个tld文件,根据使用情况,选择要引入的tld文件,可以在一个JSP中引入多个tld文件,使用不同的前缀区分
打开tld文件,查看uri值,在JSP文件中引入。
例如 ,c.tld的uri为:http://java.sun.com/jsp/jstl/core
在JSP中引入c.tld:
<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c”%>
引入tld后,即可以通过前缀调用tld中定义的标签,主要理解标签的作用,每个属性的含义。注意:属性往往通过EL赋值。
使用步骤3:调用标签,传递属性
JSTL常用的标签
c.tld中的通常目的标记
c.tld中的通常目的标记
1):输出value的值,往往可以直接使用EL替代该标记。
2):将value的值作为属性存储到scope中。
3):从scope中删除名字为var的属性。
4)<%=100/0 %>:捕获异常,异常对象使用e封装。
c.tld中的条件标记
c.tld中的条件标记
Welcome!:如果test的值为true,则运行之间的代码。
, , :实现if/else if/else逻辑。如:
4}”>
hello!
hi!
how are u?
c.tld中的循环标记
标记:items属性指定需要迭代的集合或数组,var属性指定迭代的当前元素。如下代码所示:
迭代集合allcustomers,每次迭代出的元素将存储到pageContext中,名字为cust。
标记:items属性指定需要迭代的字符串,delims表示分隔符,var表示使用分隔符分割items产生的字符串,如下代码所示:
c.tld与url有关的标记
标记:用来包含一些文本信息。如下代码所示:
标记:进行响应重定向。如下代码所示:
标记:输出URL地址,默认使用URL重写。如下代码所示:
>访问admin.jsp页面
JSTL与EL 使用实例