码迷,mamicode.com
首页 > Web开发 > 详细

JSTL标签库简介

时间:2017-02-07 23:30:57      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:int   cti   ons   jstl   核心   状态   成员   last   字符   

JSTL叫做标准标签库,但实际上它是由5个功能不同的标签库组成。当使用标签库时,必须在jsp页面的顶部使用<%@  taglib %>指令定义引用的标签库和访问前缀。这5中标签库及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="functions" uri="http://java.sun.com/jsp/jstl/functions" %>

其中常用的就是(核心标签库)和(格式标签库)

一:(核心标签库)(常用的)

1.<c:out >将表达式的值输出到页面上相当于<%= %>或EL表达式${}

(有两种语法格式,一种有标签体一种没有标签体,但是输出的结果都是相同的,value就是定义要输出的值)

技术分享

2.<c:set />变量设置标签

 技术分享

3.流程控制标签:

I、<c:if>条件判断标签,虽然没有对应的else标签,但是JSTL提供了<c:chose >, <c:when >, <c:otherwise >标签可以实现if else的功能。

<c:if>有两种语法格式:

语法一:

技术分享

语法二:

技术分享

II、<c:chose >, <c:when >, <c:otherwise >标签,在一个<c:choose>标签中可以包含多个<c:when>标签来处理不同条件的业务逻辑,但是只能有一个<c:otherwise>标签来处理默认条件的业务逻辑。(<c:chose >标签只能作为<c:when >, <c:otherwise >标签的父标签来进行使用,它没有相关的属性,另外在<c:chose >标签中除了空白字符外只能包括 <c:when >, <c:otherwise >标签

实例如下:

技术分享

III、循环标签(常用的是<c:forEach>)

 <c:forEach>循环标签可以根据循环条件,遍历数组和集合类中的所有或者部分数据,它的语法格式也有两种。

首先说明一下forEach中的各项属性:
items:用于指定循环遍历的对象,多用于数组或者集合类。该属性的属性值可以使数组、集合类、字符串和枚举类型,一般通过EL表达式指定,(在集合成员迭代中这是必选属性),其他属性均是可选属性。
var:用于指定循环体的变量名,该变量用于存储items指定的对象的成员。
begin:用于指定循环的起始位置,如果没有指定,则从集合的第一个值开始迭代。可以使用EL。
end:用于指定循环的终止位置,如果没有指定,则一直迭代到集合的最后一位。可以使用EL。
step:用于指定循环的步长,可以使用EL。
varStatus:用于指定循环的状态变量,该属性还有4个状态属性:
index:int类型,当前循环的索引值,从0开始
count:int类型,当前循环的循环计数,从1开始
first:是否为第一次循环
last:是否为最后一次循环

语法一:集合成员迭代

 技术分享

语法二:数字索引迭代

技术分享

当加上属性step时:

 技术分享

<c:forEach>标签还可以加varStatus="idx",然后在里面我们可以进行判断比如${idx.index>0}或者${idx.index++}
获取一个list集合的长度,可以使用fn函数

 要导入函数标签库<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

 ${fn:length(product.selllingPoints)} 

 

JSTL标签库简介

标签:int   cti   ons   jstl   核心   状态   成员   last   字符   

原文地址:http://www.cnblogs.com/AnswerTheQuestion/p/6376212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!