JSTL是JavaServer Pages Standard Tag Library(1.1),它的中文名称为JSP标准标签库。JSTL是一个标准的已制定好的标签库,可以应用于各种领域,如:基本输入输出、流程控制、循环、XML文件剖析、数据库查询及国际化和文字格式标准化的应用等,使用JSTL标签库,可以减少在页面中使用Java代码。
JSTL所提供的标签函数库主要分为五大类:
(1)核心标签库
(2)I18N格式标签库(I18N是国际化意思,I和N是单词的首尾字符,中间还有18个字符)
(3)SQL标签库
(4)函数标签库
JSTL标签库
JSTL | 前置名称 | URI | 范例 |
核心标签库 | c | http://java.sun.com/jsp/jstl/core | <c:out> |
I18N格式标签库 | fmt | http://java.sun.com/jsp/jstl/fmt | <fmt:formatDate> |
SQL标签库 | sql | http://java.sun.com/jsp/jstl/sql | <sql:query> |
XML标签库 | xml | http://java.sun.com/jsp/jstl/xml | <x:forBach> |
函数标签库 | fn | http://java.sun.com/jsp/jstl/functions | <fn:split> |
核心标签库
分类 | 功能分类 | 标签名称 |
Core | 表达式操作 | out |
set | ||
remove | ||
catch | ||
流程控制 | if | |
choose | ||
when | ||
otherwise | ||
迭代操作 | forEach | |
forTokens | ||
URL操作 | import | |
param | ||
url | ||
redirect |
表达式操作:out是指输出,显示数据的内容;set是设置一个值,相当于定义一个变量;remove把某个值去除;catch捕获异常,其中set、remove、catch三个标签都认为违背了MVC模式,out用的比较多。
表达式操作标签用法
<c:out>用法
在page1.jsp中导入核心标签库,代码如下
在session中放入值,然后显示出来,实现代码如下
使用JSTL标签的好处是可以设置其他属性,比如default、escapeXml,使用代码如下
由于msgR在request、session、application等范围内都寻找不到,所以运行的结果为:No Data。
运行的结果为:<B>Welcome Session!</B>
运行的结果将以粗体显示:Welcome Session!
流程控制标签的用法
<c:if test=”${判断条件}”>
……
</c:if>
<c:choose>
<c:when test=”${条件1}”>……</c:when>
<c:when test=”${条件2}”>……</c:when>
<c:otherwise>……</c:otherwise>
</c:choose>
<c:if>使用代码如下
<c:choose>使用代码如下
迭代操作标签的用法
<c:forEach>使用代码如下
<c:forTokens>用来浏览一字符串中所有的成员,其成员是由定义符号(delimiters)所分隔的,使用语法如下
<c:forTokens items=”字符串” delims=”分隔符” var=”字串名” begin=”起始” end=”结束” step=”步长”>
……
</c:forTokens>
使用代码如下
运行得到结果为:111 222 333 444
其他的标签库使用情况并不多或者违背了MVC模式,这里略了,如需要了解请参看JSTL手册。