JSTL(JavaServer Pages Standard Tag Library)-JSP标准标签库,由SUN公司推出的,由Apache Jakarta 组织负责维护的用于编写和开发JSP页面的一组标准标签
JSTL 的发布包有两个版本:Standard-1.0 Taglib 、Standard-1.1 Taglib
JSTL所提供的标签函数库主要分为五大类:
标签(Tag) 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是大小写敏感的
标签库(Tag library) 由一系列功能相似、逻辑上互相联系的标签构成的集合称为标签库
标签库描述文件(Tag Library Descriptor) 标签库描述文件是一个XML文件,这个文件提供了标签库中类和JSP中对标签引用的映射关系。它是一个配置文件,和web.xml是类似的,一般以.tld作为文件的扩展名
标签处理类(Tag Handle Class) 标签处理类是一个Java类,这个类继承了TagSupport或者扩展了SimpleTag接口,通过这个类可以实现自定义JSP标签的具体功能
创建一个动态网站项目,将jstl.jar和standard.jar插件拷贝至lib文件夹中,将c.tld配置文件拷贝至WEB-INF文件夹中:
接着打开web.xml文件,配置以下代码:
Day15Jsp
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
http://java.sun.com/jsp/jstl/core
/WEB-INF/c.tld
然后在使用JSTL的jsp文件中加入taglib指令即可使用标签库的内容:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Insert title here
通用标签库用于操作(创建、删除、显示) JSP 页面内的作用域变量
通用标签库中的标签:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Insert title here
<% request.setAttribute("a", "苹果"); %>
获得Java代码存储在request对象中的数据为:${a}
获得set标签存储在request对象中的数据为:${a1}
${pageScope.b}
${pageScope.apple}
西瓜
${applicationScope.c}
创建一个Car类,将其进行封装:
package com.abc;
public class Car {
private String name;//车的品牌
private double price;//车的价格
private String type;//车的类型
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Car() {
super();
// TODO Auto-generated constructor stub
}
public Car(String name, double price, String type) {
super();
this.name = name;
this.price = price;
this.type = type;
}
@Override
public String toString() {
return "Car [name=" + name + ", price=" + price + ", type=" + type + "]";
}
}
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Insert title here
获得存储在session对象中的汽车信息为:
品牌:${car.name}
价格:${car.price}
类型:${car.type}
${empty(a1)}
${empty(car)}
${car.name }
${c}
JSTL 提供条件标签以支持 JSP 页面中的各种条件
条件标签包括:
two.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Insert title here
该数为偶数
该数为奇数
该数为偶数
该数为奇数
春季
夏季
秋季
冬季
当前的月份是一个错误的月份
迭代标签用于多次计算标签体
迭代标签库中的标签有 :
three.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Insert title here
<%
String[] names={"张三","李四","王五","小明"};
request.setAttribute("names", names);
%>
${names[0]},${names[1]},${names[2]},${names[3]}
获得数组中的数据为:${name}
${s }
本章内容到这里结束!!!