必威体育Betway必威体育官网
当前位置:首页 > IT技术

JSTL

时间:2019-08-18 05:11:05来源:IT技术作者:seo实验室小编阅读:81次「手机版」
 

jstl

java Server Pages Standard Tag Libray(JSTL):JSP 标准标签库,是一个定制标签类库的集合,用于解决一些常见的问题,例如迭代一个映射或者集合、条件测试、XML 处理,甚至数据库和访问数据库操作等。

JSTL包含五类标准标记库:核心标记库,格式标记库,XML标记库,sql标记库,库和函数标记库。

核心标签库:http://java.sun.com/jsp/jstl/core 包含 Web 应用的常见工作,比如:循环、表达式赋值、基本输入输出等。

格式化标签库:http://java.sun.com/jsp/jstl/fmt 用来格式化显示数据的工作,比如:对不同区域的日期格式化等。

JSTL的使用

1、引入标签库的jar包(每个项目拷贝一次)

jstl.jar和standard.jar

2、在jsp页面通过taglib指令导入指定的类库(每个jsp页面需要单独引用)

<%@taglib uri=“要引入的标签库的路径” prefix=“标签库的前缀” %>

前缀可以自定义,程序员习惯设置为指定的前缀名

core核心库:c

fmt格式化标签库:fmt

注:jstl标签操作的一般都是域对象

if标签

格式:

无主体内容:<c:if test=“条件” var=“限域变量名” scope=“域对象的范围 page|request|session|APPlication”></c:if>

有主体内容:

<c:if test=“条件” var=“限域变量名” scope=“域对象的范围 page|request|session|application”>

主体内容

</c:if>

常用属性:

test:判断的条件,返回true或false,操作的是域对象的值;必须要设置的属性

var:限域变量名,存在域对象中的变量名,可以通过el表达式获取到该变量名对应的值

scope:限域变量名的域范围,四个范围 page|request|session|application

注:if标签没有对应else,所以如果需要做else判断,需要设置两个完全相反的if条件判断

if标签可以嵌套其他标签,嵌套if标签或者choose标签

choose、when和otherwise标签

格式:

<c:choose>

<c:when test=“条件”>

满足条件会执行的内容

</c:when>

<c:when test=“条件”>

满足条件会执行的内容

</c:when>

<c:otherwise>

当所有的when条件不成立时,才会执行的内容

</c:otherwise

</c:choose>

注意:

1、choose标签中只能包含when和otherwise标签,而when和otherwise标签中可以嵌套其他标签

报错:Illegal child tag in “c:choose” tag

2、choose和otherwise标签没有属性,而when标签必须设置test属性

3、choose标签中至少有一个when标签,可以没有otherwise标签

4、when标签必须设置在otherwise标签之前

5、otherwise标签只有在所有的when标签都不成立的条件下,才会执行

foreach标签

格式:

1、遍历内容多次,相当于java中 for(int i = 0; i < length; i++) {}

<c:forEach begin=“开始数” end=“结束数” var=“限域变量名” step=“间隔数”>

${限域变量名}

</c:forEach>

2、迭代集合,相当于java中的 for(String str : strings) {}

<c:forEach items=“要被迭代的数据(List、Map等)” var=“限域变量名” varStatus=“当前成员的相关信息”>

${限域变量名}

</c:forEach>

formatNumber标签

格式:

无主体内容:

<fmt:formatNumber value=“要被格式化的值” type=“格式化的类型number|percent|currency” var=“限域变量名” />

有主体内容:

<fmt:formatNumber type=“格式化的类型number|percent|currency” var=“限域变量名”>

要被格式化的值

</fmt:formatNumber>

type属性的默认值是number

注:如果设置了var属性,格式化后的结果会被限域变量名所接收;若未设置var属性,则格式化的结果会直接显示。

formatDate标签

<fmt:formatDate value=“要格式化的日期型数据” type=“日期类型|时间类型|日期+时间类型” dateStyle=“日期的格式” timeStyle=“时间的格式” pattern=“具体的格式” var=“限域变量名”/>

常用属性:

value:取值的是日期型

type:格式的类型

date日期格式 默认值

time时间格式

both日期+时间格式

dateStyle:日期格式的具体格式 Long、short、Full等

timeStyle:时间格式的具体格式Long、short、Full等

pattern:具体的格式化格式 y M d H m s

注:如果设置了var属性,格式化后的结果会被限域变量名所接收;若未设置var属性,则格式化的结果会直接显示。

parseNumber标签

利用 parseNumber 标签可以将数字、货币或百分比的字符串表示法解析成指定语言环 境的数字。即解析一个代表着数字,货币或百分比的字符串。

<fmt:parseNumber type=“需要被格式化的字符串的类型number|percent|currency”>

要格式化的指定格式的字符串

</fmt:parseNumber>

parseDate标签

<fmt:parseDate type=“date|time|both” pattern=“日期字符串对应的格式”></fmt:parseDate>

if标签和choose-when-otherwise标签还有forEach标签三者之间可以互相嵌套,注意choose标签里边只能有when标签和otherwise标签以外的内容

相关阅读

JSTL标签库和EL表达式总结

JSTL标签库与EL表达式 JSTL 是JSP的标准标签库,是一个JSP的标签集合 ,按照类别包括核心标签,格式化标签,JSTL函数,SQL标签和XML标签 ,

standard.jar和jstl.jar的下载地址

http://repo2.maven.org/maven2/javax/servlet/jstl/ http://repo2.maven.org/maven2/taglibs/standard/ 一般我们都去maven的仓

(JSTL)jstl.jar和standard.jar的下载地址与使用

jstl.jar下载地址: http://repo2.maven.org/maven2/javax/servlet/jstl/standard.jar下载地址: http://repo2.maven.org/maven2/t

自定义 jstl 标签 fns

1、jsp 头部页面引入函数 jsp页面需要引入自定义fns函数声明: <%@ taglib prefix=”fns” uri=”/WEB-INF/tlds/fns.tld” %>,自定

分享到:

栏目导航

推荐阅读

热门阅读