JSTL标签库

1、介绍

JSTL是JSP网页技术的一环。

使用JSTL实现动态JSP页面的最大特点在于简单,避免了使用脚本片段带来的许多问题,Web应用开发人员利用JSTL可以取代直接嵌入页面的代码片段,提高程序可读性和可维护性

JSTL包含5类标准标记库:核心标记库、格式标记库、XML标记库、SQL标记库和函数标记库。在使用这些标记库以前,需要使用taglib指令的prefix和uri属性来指定要使用的标记库,如下表所示。
在这里插入图片描述

其中,prefix指定的前缀就是在JSP页面中将要使用的标记前缀,例如<c:out>就表示使用核心标记库中的out标记完成指定的页面输出操作。

2、安装配置JSTL
JSTL标签库需要下载安装,安装地址如下:
http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

JSTL的实现是一些JAR文件,如果在Web应用中使用JSTL,就需要在Web应用的WEB-INF\lib目录下包含JSTL的JAR文件。将jstl.jar和standard.jar复制到Tomcat网站根目录下的文件夹WEB-INF\lib当中,并将tld目录复制到Tomcat的WEB-INF目录下,重新启动Tomcat之后,就可以开始使用JSTL了。

3、核心标签

核心标签提供了一般性的语言功能,例如变量、循环、条件控制及基本输入与输出、URL相关操作等,这种标签以字母c为前缀词。例如下面的程序片段:

<c :out value = outputString />

程序中的<c:out>用以输出特定的数据内容并且将其显示在网页上,标签开头的字符c表示为核心(core)标签。

常用核心标签:
在这里插入图片描述
注意
在使用JSTL之前,必须引用taglib指令声明网页所使用的标签种类,语法如下:

<%@taglib prefix=tabName uri=uriString%>

其中包含两个属性的设置,prefix代表标签种类的前缀词,uri则是标签的URI,这段程序代码的prefix属性值设置为tabName,表示所要使用的标签,uriString则是对应此标签的URI。

这里只介绍<c:out>、<c:forEach>、<c:forTokens>。
**<c:out>标签:**
<c:out>标签可以将指定的数据显示到客户端的网页上,它的作用类似于脚本中<%=%>的作用。<c:out>的语法如下:
(1)未包含主体( body):

<c:out value= "value"[escapeXml= " [true false}"] [default= "默认值"]/>

(2)包含主体( body):

<c :out value= "value"[escapeXml= "{true | false}"]>
默认值
</c :out>

<c:out>的三个属性:
在这里插入图片描述

JSP页面开发经常需要使用循环或迭代来生成大量的表示代码(如HTML表格或列表)。JSTL核心标记库中提供<c:forEach>和<c:forTokens>两个标记满足这个需求。

<c:forEach>标签用来浏览某种特定的对象集合或是项目内容,<c:forTokens>标签则提供解析用特定标记符号分隔的字符串内容的功能。

<c:forEach>标签

语法1:迭代对象集合内容。

<c:forEach [var="varName"] items="collection"[varStatus="varStatusName"][begin="begin"] [end="end"] [step="step"]>
体内容
</c:forEach>

语法2:迭代特定次数。

<c:forEach [var=""varName] varSatus="varStatuName" begin="begin" end="end" [step="step"]>
体内容
</c:forEach>

语法1中可直接列举指定的集合对象,语法2中则是针对特定的内容进行重复次数的运行操作。其中,属性var是可选的,可以用来保存当前的循环变量,如果是循环固定次数,循环变量的值就是循环的索引;如果是枚举集合中的所有元素,循环变量的值就是集合的当前成员。

在枚举集合元素时,使用items属性来指定集合对象。varStatus为目前对象的相关内容信息,存储了迭代成员的状态值,例如索引 (index)、计数(count)、是否为首笔(first)及是否为末笔(last)。

<c:forTokens>

<c:forTokens>标签语法如下:

<c:forTokens items="stringOfTokens" delims="delimiters" [var="varName"][varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
体内容
</c:forTokens>

<c:forTokens>语法内容与<c:forEach>很相似,多了一个用来设置字符串的分隔标识符的delims属性,delims属性可以同时指定有多个分隔字符;由于<c:forTokens >专门用来处理字符串数据,因此items内容必须是字符串。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值