JavaWeb——JSTL 标签
- JSTL 是一个不断完善的开放源代码的 JSP 标签库,JSP2.0 将其作为标准支持,使用JSTL 可以取代传统 JSP 程序中嵌入 Java 代码的做法,可以有效提高程序的可维护性。
一、JSTL 基础
1、何为 JSTL
- JSTL 标签库由五个功能不同的标签库组成,分别为:核心标签库、格式标签库、SQL 标签库、XML 标签库和函数标签库;使用这些标签库之前需要在 JSP 页面使用如下声明:
<%@taglib%>
- 使用标签库的指令格式如下:
// 核心标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> // 格式标签库 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> // SQL 标签库 <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> //xml标签库 <%@ taglib prefix="xml" uri="http://java.sun.com/jsp/jstl/xml"%> //函数标签库 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
2、标签库
2.1、核心标签库
- 核心标签库主要用于完成 JSP 页面的常用功能,包括 JSTL 的表达式标签、URL 标签、流程控制标签和循环标签,具体如下表:
标签 功能 <c:out> 将表达式的值输出到 JSP 页面 <c:set> 在指定范围中定义变量,或为指定的对象设置属性值 <c:remove> 从指定的 JSP 范围中移除指定的变量 <c:catch> 捕获程序中出现的异常 <c:import > 导入站内或者其他网站的静态或动态文件到 Web 页面 <c:redirect> 将客户端发出的 request 请求重定向到其他 URL 服务端 <c:url> 使用正确的 URL 重写规则构造一个 URL <c:param> 为其他标签提供参数信息 <c:if> 根据不同的条件处理不同的业务 <c:chose>、<c:when>、<c:otherwise> 根据不同的条件完成指定的业务逻辑,如果没有符合的条件则执行默认的业务逻辑 <c:forEach> 根据循环条件,遍历数组和集合类中的所有成员或部分数据 <c:forTokens> 迭代字符串中由分隔符分隔的各成员
2.2、其他标签库
- 格式标签库提供了一个简单的国际化标记,即 I18N 标签库,用于处理和解决国际化相关的问题。
- SQL 标签库提供了基本的访问关系型数据的能力;使用 SQL 标签,可以简化对数据库的访问。
- XML 标签库可以处理和生成 XML 标记,使用这些标记能够简便地开发基于 XML 的 Web 应用。
- 函数标签库提供了一系列字符串操作函数,用于完成字符串的分解、连接、获取子串以及匹配子串等函数。
- 以上 4 个标签库,一般不怎么使用。
3、IDEA 配置 JSTL
- 由于我使用的是 IDEA,所以这里就介绍在 IDEA 环境下配置 JSTL。
- 首先,从网上下载 JSTL 标签库,下载链接,下载后解压,将 lib 文件夹复制到 Web 里的 WEB-INF 目录下;然后将 jstl.jar 和 standard.jar 两个 JAR 包加入到项目的 moudles 中,并加入到 Web 的 Artifacts 中。
- 接着配置相关 URI,文件->设置->Language&Frameworks->Schemas and DTDs,增加如下图的 URI,