JSTL标签初探
JSTL的功能主要可以分为五种:
- 核心标签
- 格式化标签
- SQL标签
- XML标签
- JSTL函数
从这五种标签的功能可以看出,其实这就是jsp本身能够做到的功能,JSTL只是将某些常用的功能封装起来。JSTL,简易,明了,一定程度上还可以避免错误。实际上,JSTL标签可以自由定制,自己也可以创造属于自己的标签,这里不讨论这个知识点。
JSTL的导入
一般来说,使用MyEclipse(Myeclipse10 默认不支持JSTL库,需要手动导入)创建一个Web project,其中会自动导入JSTL库。
当然如果是Myeclipse10,可以在官网下载后手动导包
官方下载地址
JSP文件中JSTL标签的引入和作用
引入格式
<%@ taglib prefix="c"
uri="xxxx" %>
JSP中JSTL的引入,每一个JSP文件都必须要在文件顶部写上引入代码,才能够使用JSTL标签。
核心标签
引入语句
<%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %>
常用标签
标签 | 作用 |
---|---|
<c:out> | 用于在JSP中显示数据,就像<%= … > |
<c:set> | 用于保存数据 |
<c:remove> | 用于删除数据 |
<c:catch> | 用来处理产生错误的异常状况,并且将错误信息储存起来 |
<c:if> | 与我们在一般程序中用的if一样 |
<c:choose> | 本身只当做<c:when> 和<c:otherwise> 的父标签 |
<c:when> | <c:choose> 的子标签,用来判断条件是否成立 |
<c:otherwise | <c:choose> 的子标签,接在<c:when> 标签后,当<c:when> 标签判断为false时被执行 |
<c:import> | 检索一个绝对或相对 URL,然后将其内容暴露给页面 |
<c:forEach> | 基础迭代标签,接受多种集合类型 |
<c:forTokens> | 根据指定的分隔符来分隔内容并迭代输出 |
<c:param> | 用来给包含或重定向的页面传递参数 |
<c:redirect> | 重定向至一个新的URL |
<c:url> | 使用可选的查询参数来创造一个URL |
使用举例:
这里是一个简单的权限判断显示不同页面的实现,用户未登录的情况下显示登录和注册,否则显示注销登录。运用这个标签可以很方便的实现不同权限登录后,同页不同人,看到不同的界面。
格式化标签
引入语句
<%@ taglib prefix="fmt"
uri="http://java.sun.com/jsp/jstl/fmt" %>
常用标签
标签 | 作用 |
---|---|
<fmt:formatNumber> | 使用指定的格式或精度格式化数字 |
<fmt:parseNumber> | 解析一个代表着数字,货币或百分比的字符串 |
<fmt:formatDate> | 使用指定的风格或模式格式化日期和时间 |
<fmt:parseDate> | 解析一个代表着日期或时间的字符串 |
<fmt:bundle> | 绑定资源 |
<fmt:setLocale> | 指定地区 |
<fmt:setBundle> | 绑定资源 |
<fmt:timeZone> | 指定时区 |
<fmt:setTimeZone> | 指定时区 |
<fmt:message> | 显示资源配置文件信息 |
<fmt:requestEncoding> | 设置request的字符编码 |
SQL标签
引入语句
<%@ taglib prefix="sql"
uri="http://java.sun.com/jsp/jstl/sql" %>
常用标签
标签 | 作法 |
---|---|
<sql:setDataSource> | 指定数据源 |
<sql:query> | 运行SQL查询语句 |
<sql:update> | 运行SQL更新语句 |
<sql:param> | 将SQL语句中的参数设为指定值 |
<sql:dateParam> | 将SQL语句中的日期参数设为指定的java.util.Date 对象值 |
<sql:transaction> | 在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行 |
XML标签
引入语句
<%@ taglib prefix="x"
uri="http://java.sun.com/jsp/jstl/xml" %>
注意:使用xml标签时必须要事先导入XML和Xpath解析包:
- XercesImpl.jar
-
这两个包需要拷贝到Tomcat安装目录下的/lib目录下
常用标签
标签 | 作用 |
---|---|
<x:out> | 与<%= … >,类似,不过只用于XPath表达式 |
<x:parse> | 解析 XML 数据 |
<x:set> | 设置XPath表达式 |
<x:if> | 判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体 |
<x:forEach> | 迭代XML文档中的节点 |
<x:choose> | <x:when> 和<x:otherwise> 的父标签 |
<x:when> | <x:choose> 的子标签,用来进行条件判断 |
<x:otherwise> | <x:choose> 的子标签,当<x:when> 判断为false时被执行 |
<x:transform> | 将XSL转换应用在XML文档中 |
<x:param> | 与<x:transform> 共同使用,用于设置XSL样式表 |
JSTL函数
引入语句
<%@ taglib prefix="fn"
uri="http://java.sun.com/jsp/jstl/functions" %>
常用标签
标签 | 作用 |
---|---|
fn:contains() | 测试输入的字符串是否包含指定的子串 |
fn:containsIgnoreCase() | 测试输入的字符串是否包含指定的子串,大小写不敏感 |
fn:endsWith() | 测试输入的字符串是否以指定的后缀结尾 |
fn:escapeXml() | 跳过可以作为XML标记的字符 |
fn:indexOf() | 返回指定字符串在输入字符串中出现的位置 |
fn:join() | 将数组中的元素合成一个字符串然后输出 |
fn:length() | 返回字符串长度 |
fn:replace() | 将输入字符串中指定的位置替换为指定的字符串然后返回 |
fn:split() | 将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回 |
fn:startsWith() | 测试输入字符串是否以指定的前缀开始 |
fn:substring() | 返回字符串的子集 |
fn:substringAfter() | 返回字符串在指定子串之后的子集 |
fn:substringBefore() | 返回字符串在指定子串之前的子集 |
fn:toLowerCase() | 将字符串中的字符转为小写 |
fn:toUpperCase() | 将字符串中的字符转为大写 |
fn:trim() | 移除首位的空白符 |
感谢菜鸟教程提供的教程,实践后写下此篇博客,如有遗漏和不足,欢迎指出,不甚感激。
原创文章,转载须注明出处http://blog.csdn.net/drohe