JSP 标准标签库(JSTL)(JSP Standard Tag Library)
[1] JSTL简介
> JSTL是JSP的标准标签库
> JSTL为我们提供了一些常用的标签,供我们日常开发使用(if 、 if...else 、遍历 、 日期格式化)
> 标签库
- core :核心标签库
- 最常用的一个标签库,也就是我们熟悉c标签。
- fn :函数标签库
- 函数标签库它需要结合EL表达式使用,主要定义了一些字符串操作的方法。
- fmt :格式化标签库
- 主要用来做日期、数字的格式化以及国际化
- 20151019 2015/10/19 10/19/2015
- 10000 10,000
- sql : 数据库标签库
- 主要用来在JSP中操作数据库的,已淘汰
- xml : xml标签库
- 主要用来在JSP操作解析XML文档,已淘汰
> JSTL的使用
使用JSTL需要先导入两个jar包
taglibs-standard-impl-1.2.1.jar
taglibs-standard-spec-1.2.1.jar
[2] 核心标签库
- 导入核心标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- 核心标签库一般使用c作为前缀,所以我们也称核心标签库为c标签。
- c标签是我们JSTL中最常用的一个标签库,它里边封装了很多开发中常用的功能。
c:out
作用:向页面中输入一个内容,一般要结合EL表达式使用!
例子:<c:out value="" default="" escapeXml=""></c:out>
属性:
value : 要输出内容
default : 当内容为空时显示的默认值
escapeXml : 是否自动转义特殊字符,默认值为true 自动转义,一般不修改该属性
c:set
作用:向域中设置一个属性
例子:<c:set var="name" value="孙悟空" scope="request"></c:set>
属性:
var :向域中存储的属性名
value :向域中存储的属性值
scope :向那个域中添加属性,四个可选值(page request session application),默认是page
c:remove
作用:移除域中的一个属性
例子:<c:remove var="name" scope="session"/>
属性:
var :要移除的属性的名字
scope :要移除的属性所在的域,四个可选值(page request session application)
如果不设置该属性,则默认移除四个域中指定属性。
c:if
作用 :相当于java中if语句
例子:
<c:if test="${empty param.name }">
<h3>您没有输入name属性!</h3>
</c:if>
属性:
test :接收一个boolean类型的值
如果test的值为true则标签体执行
否则不执行标签体
c:choose c:when c:otherwise
作用:相当于if...else
例子:
<c:choose>
<c:when test="${param.score == 100 }">
<h3>恭喜您考了100分!</h3>
</c:when>
<c:otherwise>
<h3>恭喜你,你不及格!</h3>
</c:otherwise>
</c:choose>
属性:
when标签中的test属性:
接收一个boolean类型的值
如果test的值为true则标签体执行
否则不执行标签体
注意:在choose标签中可以指定多个when标签,但是只有一个when会执行。
当所有的when标签都不执行时,则otherwise标签执行。
c:when和c:otherwise不能脱离c:choose使用。
c:forEach
作用:可以在页面中对集合进行遍历
例子:
<c:forEach items="${list}" var="hero">
${hero} <br />
</c:forEach>
<c:forEach items="${map }" var="user">
${user.key} --- ${user.value} <br />
</c:forEach>
属性:
items:要遍历的集合
var:对集合中的对象引用的名字
注意:在遍历Map时,返回的是一组一组的键值对结构
我们可以通过对象.key获取键,通过对象.value获取值
作用:可以用来遍历一组数
例子:
<c:forEach begin="1" end="20" var="index" step="1">
<a href=#>${index}</a>
</c:forEach>
属性:
begin :开始的位置,注意begin不能小于0
end :结束的位置
var :引用的名字
step :步长,每次自增的大小
c:url
作用:可以创建一个完整的绝对路径
例子:
<c:url value="/index.jsp">
<c:param name="name" value="孙悟空"></c:param>
<c:param name="age" value="18"></c:param>
</c:url>
属性:
value:要设置的地址,注意该地址要以/开头,否则不会加上项目名
在url标签中可以添加c:param标签,可以自动为地址拼接上请求参数。
c:redirect
作用:请求的重定向
例子:
<c:redirect url="/index.jsp">
<c:param name="name" value="唐僧"></c:param>
</c:redirect>
属性:
url:
重定向到目标地址,注意该地址不要自己添加项目名。
在redirect标签中可以添加c:param标签,可以自动为地址拼接上请求参数。
注意:redirect标签会自动为我们设置项目名,不需要我们手动设置!
设置绝对路径的三种方式:
1.<c:set var="ctx" value="${pageContext.request.contextPath }"></c:set>
使用这种方式,可以通过${ctx}在页面中代替项目名
2.使用<c:url value="/index.jsp"></c:url>
使用url标签,它会自动为绝对路径加上项目名
3.<base href="http://${pageContext.request.serverName }:${pageContext.request.serverPort }${pageContext.request.contextPath }/" />
使用base标签可以为页面中所有的相对路径,加上项目名
[3] 函数标签库
作用:函数标签库需要配合EL表达式使用,它里面的方法都是一些字符串的操作
引入函数标签库:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
例子:
${fn:contains("hello","He") } <br /> 判断前一个字符串是否包含后一个字符串
${fn:containsIgnoreCase("hello","He") } <br /> 判断前一个字符串是否包含后一个字符串,不区分大小写
${fn:endsWith("hello","alo") }<br /> 判断前一个字符串是否以后一个字符串结尾
<!-- 自动将特殊字符转义 -->
${fn:escapeXml("<html></html>") }<br /> 自动将特殊字符进行转义
<!-- fn:join用于将一个String数组转换一个字符串,第二个参数代表的连接符 -->
${fn:join(strs,",") }<br /> 将一个String数组,以指定字符串拼接为一个新的字符串
${fn:split("a,b,c,d,e",",")[2] }<br /> 将一个字符串,以指定字符拆分为一个字符数组
${fn:trim(" abcd ") }<br /> 去掉字符串的前后空格
剩下方法参照 alt+/
JSP 标准标签库(JSTL)(JSP Standard Tag Library)的更多相关文章
- JSTL 标准标签库 (JavaServer Pages Standard Tag library, JSTL)
JSP标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个定制标签库的集合,用来解决 像遍历Map或集合.条件测试.XML处理,甚至数据 库访问和数 ...
- JSP标准标签库JSTL
1.什么是JSTL? JSP标准标签库(JSP Standard Tag Library) 2.JSTL标准标签库中的常用标签 JSTL是JSP页面的标签库,实质上是一段Java代码.我们常用的是它的 ...
- JSP标准标签库(JSTL)--JSTL简介与安装
对于MVC设计模式来讲,我们一直强调,在一个JSP钟scriptlet代码越少越好,但是只靠以前的概念很难实现,因为标签的开发特别麻烦,所以为了简化标签,也为了让标签更具备一些通用性,所以一般在开发中 ...
- JSP 标准标签库(JSTL)
JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...
- jsp标准标签库——jstl
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...
- JSP 标准标签库JSTL
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...
- 标准标签库JSTL(JSP Standard Tag Library)
1, 核心标签(最常用, 最重要的) 表达式控制标签 out 输出常量 value---直接赋值 输出变量 default---默认值 escapeXml---控制转义字符(默认为true, 如果需要 ...
- JSP标准标签库(JSTL)--XML标签库 x
³在开发中XML解析的操作是非常烦琐的,幸运的是在JSTL中专门提供了用于XML解析的操作,这样用户就可以不用费力的去研究SAX或DOM等操作的使用,就可以轻松的进行XML文件的解析处理. XML标 ...
- JSP标准标签库(JSTL)--SQL标签库 sql
了解即可.SQL标签库 No. 功能分类 标签名称 描述 1 数据源标签 <sql:setDataSource> 设置要使用的数据源名称 2 数据库操作标签 <sql:query&g ...
- JSP标准标签库(JSTL)--核心标签库 c
核心标签库是JSTL中最重要的部分,可以完成输出,判断,迭代等操作 功能分类: 1. 基本标签: <c:out>:输出属性内容 <c:set>:设置属性内容 <c:rem ...
随机推荐
- Unity3D-游戏中的技能碰撞检测
在游戏战斗中,我们会用到各种各样的碰撞检测,来判断是否打中了目标 比如扇形检测/圆形检测 还有矩形检测,王者荣耀里后羿的大招就是一个很长的矩形碰撞体 这些在Unity3D引擎中其实都封装好了一些Col ...
- gulp总结
安装 1.安装node 检测是否安装成功的方法,在命令行输入: node -v npm -v 显示版本号则安装成功 2.装cnmp一定要网络好一点 npm install cnpm -g --regi ...
- C# 百分比的获取
这里介绍 C# 百分比转换有2种方式 例: double a=50; double b=100; a/b.ToString("0.00%"); 或 a/b.ToString(&qu ...
- IT行业歧视40岁以上人群为找工作还要谎报年龄[转]
IT行业歧视40岁以上人群为找工作还要谎报年龄(这样不好) http://www.aliyun.com/zixun/content/2_6_616161.html [赛迪网讯]4月5日消息,许多40多 ...
- Unity3D文件读取
Resources: 是作为一个Unity3D的保留文件夹出现的,也就是如果你新建的文件夹的名字叫Resources,那么里面的内容在打包时都会被无条件的打到发布包中.它的特点简单总结一下就是: 只读 ...
- Codeforces Round #423 B. Black Square
题目网址:http://codeforces.com/contest/828/problem/B 题目: Polycarp has a checkered sheet of paper of size ...
- 关于github 0.6.2版本的使用方法
貌似做为一名前端开发人员,没听过使用过github,node,vue就像落伍一样,本人也是在前端自摸自爬的路上越走越远了,经常在群里听大神们讨论vue,github,node,好生羡慕,没人教,没人带 ...
- Qt中使用CEF(Windows下)
最近项目中要在Qt中使用CEF(Chromium Embedded Framework),在这里总结下其中的几个要点. 下载合适的CEF版本 关于CEF的简介我们这里就不做介绍了,下载CEF可以有2种 ...
- node.js存json数据到mysql
众所周知,mysql是无法存储json数据的,这个刚开始笔者也是知道的,也知道JSON.stringify()这个API的,但是当我真正要这样做利用JSON.stringify()讲要转换的JSON数 ...
- Spring AOP 和 动态代理技术
AOP 是什么东西 首先来说 AOP 并不是 Spring 框架的核心技术之一,AOP 全称 Aspect Orient Programming,即面向切面的编程.其要解决的问题就是在不改变源代码的情 ...