jsp标签库

JSTL是一个标准的已制定好的标签库

使用两个jar包

1.jstl.jar
2.standard.jar

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:forEach>
函数标签库 fn http://java.sun.com/jsp/jstl/functions <fn:split>

核心标签库

功能分类 标签名称
1.表达式操作 out、set、remove、catch
2.流程控制 if、choose、when、otherwise
3.迭代操作 forEach、forTokens
4.URL操作 import、param、url、redirect

<c:out>
功能: <c:out>主要用来显示数据的内容
value 需要显示出来的值 
default 如果value的值为null,则显示default的值 
escapeXml 是否转换特殊字符,如:<转换成&lt;
 
 实例:使用核心标签库,并输出数据
步骤一:将标签库中所有的.jar包(内部是所有的标签处理器)放到/WEB_INF/lib下,将
所有的.tld(内部是所有的标签库描述)放到/WEB-INF/tlds下

步骤二:在Jsp页面中引用核心标签(c_out.jsp)
<%@ page contentType="text/html;charset=gbk" language="java"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>

<c:set>主要用来将变量存储至JSP范围中 或是JavaBean的属性或Map对象中。
value 要被存储的值
var 欲存入的变量名称
scope var变量的JSP范围
target JavaBean或Map对象
property 指定target对象的属性
 
<c:remove>
功能:主要负责移除变量
var 欲移出的变量名称
scope Var变量的JSP范围

<c:catch>
功能:主要用于捕获异常
var 用来储存错误信息的变量

<c:if>
功能:主要用于进行if判断,如果为true,则输出标签体中的内容
test 如果表达式的结果为true,则执行体内容,false则相反
var 用来存储test运算的结果(true或false)
scope Var变量的JSP范围

<c:choose>,<c:when>,<c:otherwise>
<c:when>中属性列表:
test 如果表达式的结果为true,则执行本体内容,false则相反 
<c:choose>
    <c:when test="${c.color eq 'red'}">
       <font color=red face="华文行楷">你选择的颜色是:<c:out value="${c.color}"/></font>
    </c:when>
    <c:when test="${c.color eq 'blue'}">
       <font color=blue face="华文行楷">你选择的颜色是:<c:out value="${c.color}"/></font>
    </c:when>
    <c:otherwise>
       <font color=green face="华文行楷">你选择的颜色是:<c:out value="${c.color}"/>
    </c:otherwise>
</c:choose>


<c:forEach>
功能: <c:forEach>为循环控制,它可以将数组,集合(Collection)中的成员循序浏览一遍。
var 用来存放现在指定的成员 
items 被迭代的集合对象 
varStatus 用来存放现在指的相关成员信息 
begin 开始的位置 
end 结束的位置 
step 每次迭代的间隔数 

8<c:forTokens>
功能:将字符串以指定的一个或多个字符分割开来
var 用来存放现在的成员 否 无
items 被迭代的字符串 是 无
delims 定义用来分割字符串的字符 是 无
varStatus 用来存放现在指定的相关成员信息 否 无
begin 开始位置 否 0
end 结束位置 否 最后一个成员
step 每次迭代的间隔数 否 1
 
<c:import>
功能: <c:import>可以把其他静态或动态文件包含至本身JSP网页。
url 文件被包含的地址 
context 相同容器下,其它web必须以“/”开头 
var 储存被包含文件的内容 
scope var变量的JSP范围
charEncoding 被包含文件内容的编码格式 
varReader 储存被包含的文件的内容 

<c:url>
功能: <c:url>主要用来产生一个URL
 
名称 说明 必须 默认值
value 执行的URL 是 无
context 相同容器下,必须以“/”开头 否 无
var 储存被包含文件的内容 否 无
scope var变量的JSP范围 否 page
 
<c:redirect>
功能: <c:redirect>可以将客户端的请求从一个JSP网页导向到其它文件。
url 导向的目标地址 
context 相同容器下,必须以“/”开头
 

JSTL中的Functions

   fn:contains函数:用于判断在源字符串中是否包含目标字符串。
   fn:containsIgnoreCase函数:用于判断在源字符串中是否包含目标字符串,并且在判断时忽略大小写。
   fn:startsWith函数:用于判断源字符串是否以指定的目标字符串开头。
   fn: endsWith函数:用于判断源字符串是否以指定的目标字符串结尾。
   fn:indexOf函数:用于在源字符串中查找目标字符串,并返回源字符串中最先与目标字符串匹配的第一个字符的索引。
   fn:replace函数:用于把源字符串中的一部分替换为另外的字符串,并返回替换后的字符串。
   fn:substring函数:用于获取源字符串中的特定子字符串。
   fn:substringBefore函数:用于获取源字符串中指定子字符串之前的子字符串。
   fn: substringAfter函数:用于获取源字符串中指定子字符串之后的子字符串
   fn:split函数:用于将源字符串拆分为一个字符串数组。
   fn:join函数:用于将源字符串数组中的所有字符串连接为一个字符串。
   fn:toLowerCase函数:用于将源字符串中的所有字符改为小写。
   fn: toUpperCase函数:用于将源字符串中的所有字符改为大写。
   fn:trim函数:用于将源字符串中的开头和末尾的空格删除。
   fn:escapeXml函数:用于将源字符串中的字符“<”、“>”、“””和“&”等转换为转义字符。
   fn:length函数:用于返回字符串中的字符的个数,或者集合和数组的元素的个数
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • 1.简介 JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。JSTL支持通用的、...
    廖马儿阅读 408评论 0 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,585评论 18 139
  • JSP总结(经典) day1 JSP 定义: 1)Java Server Page, Java EE 组件,本...
    java日记阅读 3,402评论 0 13
  • 温馨提示:本文阅读需要8分钟,建议收藏后阅读! EL表达式很厉害对不对 今天我们来一个更厉害的JSTL “为什么说...
    Java联盟阅读 1,250评论 0 1
  • 第一部分简单讲解:jsp语法的规范,以及三大编译指令,七个动作指令和九大内置对象,生命周期讲解等。这章主要讲解el...
    伊豚wall阅读 395评论 0 3