JSTL (JSP Standard Tag Library)入门

第1章 JSTL简介

- JSP虽然为我们提供了EL表达式用来替代JSP表达式,但是由于EL表达式仅仅具有输出功能,用于替代JSP中的表达式脚本,而不能替代页面中的JSP代码脚本。

  • 为了解决这个问题,JSP为我们提供了可以自定义标签库(Tag Library)的功能,用来替代代码脚本。这样使得整个jsp页面变得更佳简洁。

- 所谓自定义标签库就是指可以在JSP页面中以类似于HTML标签的形式调用Java中的方法。使用方法和我们JSP动作标签类似。

  • 而为了方便开发使用,Sun公司又定义了一套通用的标签库名为JSTL(JSP Standard Tag Library),里面定义很多我们开发中常用的方法,方便我们使用。

  • JSTL的标准由Sun公司定制,Apache的Jakarta小组负责实现,是一个不断完善的开放源代码的JSP标签库。

  • JSTL由5个不同功能的标签库组成。如下:

功能范围 前缀 URI
核心标签库–重点 c http://java.sun.com/jsp/jstl/core
格式化标签库 fmt http://java.sun.com/jsp/jstl/fmt
函数标签库 fn http://java.sun.com/jsp/jstl/functions
数据库(不使用) sql http://java.sun.com/jsp/jstl/sql
XML(不使用) x http://java.sun.com/jsp/jstl/xml

说明:
函数标签库,需要结合EL表达式使用,里面定义了一些对字符串的操作(对字符串的截取、替换等)。
格式化标签库,主要用来对日期、时间、数字进行国际化的操作。

在jsp标签库中使用taglib指令引入标签库

CORE 标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

XML 标签库
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>

FMT 标签库 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

SQL 标签库
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>

FUNCTIONS 标签库
 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

第2章 使用JSTL标签库步骤

第一步:先引入JSTL标签库的jar包类库到WEB-INF/lib目录下

在这里插入图片描述
这两个jar包,和笔记在同一个目录下。

第二步:在使用的jsp页面中使用taglib指令导入需要的标签库

  • 以core核心标签库为例,需要在jsp页面中导入标签库的引用。

在这里插入图片描述

  • prefix用来指定前缀名,我们通过该名来使用JSTL
  • uri属性为标签库的唯一uri地址。因为JSTL由多个不同的库组成,使用该属性指定要导入哪个库。http://java.sun.com/jsp/jstl/core

第三步:使用JSTL

然后我们就可以在jsp页面中愉快的使用标签库了。

<c:out value=“hello”></c:out>

这个例子标识,调用前缀为c的标签的out方法,向页面中输出value属性中的字符串。

JSTL的使用非常像html标签。

第3章 核心标签

  • Core标签库,包括了我们最常用的标签。

  • 要使用Core标签库需要在JSP页面中加入CORE 标签库:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

3.1 <c:out>标签

作用:<c:out>用于计算一个表达式并将结果输出到当前页面。功能类似于JSP表达式<%= %>和EL表达式${}

属性:

属性 作用 参数类型
value 要输出的值 Object
default 当value为null时显示的默认值 Object
escaXml 是否对特殊字符进行转义 boolean

示例:

<c:out value="${user.name}" default="" escapeXml="true"></c:out>

3.2 <c:set>标签

作用:<c:set>标签 用于 添加 或 修改 域中的属性。

属性:

属性 描述 是否必要 默认值
value 要存储或修改的值 主体的内容
target 要修改的域对象的属性名(必须是JavaBean或者Map)
property 指定要修改的对象的属性名
var 表示域中存放的属性名
scope var属性的作用域 (page , request , session ,application) ,若不指定则为page page

如果指定了target属性,那么property属性也需要被指定。

1)在作用域中添加新属性

<c:set scope="" var="" value=""></c:set>
  • scope是哪个作用域

  • va

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明月常新

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值