JSTL标签库

JSP标准标记库(JSP Standard Tag Library,JSTL)是一个实现Web应用程序中常见的通用功能的定制标记库,这些功能包括迭代和条件判断 数据管理格式化 XML操作及数据库访问等 只需要jstl.jar standard.jar就可以使用JSTL了


EL:是JSP2.0的一个主要的组件,在JSTL中被广泛使用

语法: 以"${"开始"}"结束,通过"."或"[]"来存取数据


EL隐含对象

JSP页面 pageContext 代表此JSP页面的pageContext对象


作用范围 pageScope 用于读取page范围内的属性值

requestScope 用于读取request范围内的属性值

sessionScope 用于读取session范围内的属性值

applicationScope 用于读取applicationScope范围内的属性值

 

请求参数 param 用于读取请求参数中的参数值等同JSP中的request.getParameter(String name)

paramValues 用于读取请求参数中的参数值数组,等同JSP中的request.getParameterValues(String name)

 

请求头 header 用于取得指定请求头的值等同JSP中的request.getHeader(String name)

headerValues 用于取得指定请求头的值数组等同JSP中的request.getHeaders(String name)

 

Cookie cookie 用于取得request中的cookie集等同JSP中的request.getCookies()

 

初始化参数 initParam 用于取得Web应用程序上下文初始化参数值等同JSP中的: application.getInitParameter(String name)

 

用法举例:

当前SessionID为: ${pageContext.session.id}

当前请求协议为: ${pageContext.request.protocol}

请求参数name的值为: ${param["name"]}

当前Host为: ${header.Host}

 

核心标签库:

核心标签库(Cor)主要为基本输入输出 流程控制 迭代操作和URL操作提供了定制标签.凡是要乃至核心标签库的JSP页面,均要使用<%@ taglib %>指令设定prefix和uri的值

例:<%@ taglib prefix="c" uri="http:java.sun.com/jsp/jstl/core"%>

 

1.<c:set>标签的用法

功能: 用于在JSP中保存数据

语法: <c:set value="value" var="varName" [scope="{page|request|session|application}"]/>

需要保存的值 变量名 变量的作用范围

<c:set value="value" target="target" property="propertyName"/>

需要保存的值 目标对象名,如JavaBean或Map对象 指定对象的属性名

 

2.<c:out>标签的用法

功能:用于在JSP中显示数据

语法: <c:out value="value" [escapeXml="{true|false}"][default="defauleValue"]/>

需要显示的值 是否需要进行特殊字符的转换 当value为null时输出此值

3.<c:remove>标签的用法

功能:用于在JSP中移除变量

语法:  <c:remove var="varName" [scope="{page|request|session|application}"]/>

变量名 变量的作用范围

4.<c:catch>标签的用法

功能:用于在JSP中捕获异常,并将异常信息保存于指定的变量中

语法: <c:catch [var="varName"]>

需要捕获异常的代码段

</c:catch>

5.<c:if>标签的用法

功能:用于在JSP中进行条件判断的流程控制,作用与if一样

语法: <c:if test="testCondition" [var ="varName"] [scope="{page|request|session|application}"]> //test条件表达式 var存放条件表达式值的变量 scope var变量的作用范围

满足条件时将执行的代码段

</c:if>

6.<c:choose> <c:when>和<c:otherwise>标签的用法

功能:<c:choose> <c:when> <c:otherwise>配套使用在JSP中进行条件分支的流程控制. 其中<c:when> <c:otherwise>必须放置在在<c:choose>标签内,而且<c:when>必须位于<c:otherwise>之前 每个<c:when>标签代表一个条件分支,当所有条件都不满足时将执行<c:otherwise>标签体中的代码

语法: <c:choose>

<c:when test="${condition1}"> 条件一表达式1

条件表达式1为真时将要被执行的代码段

</c:when>

<c:when test="${condition2}"> 条件表达式2

条件表达式2为真进将要被执行的代码段

</c:when>

<c:otherwise>

当所有条件均不满足时将要被执行的代码段

</c:otherwise>

</c:choose>

7.<c:forEach>标签的用法

功能:用于在JSP中进行循环控制,当条件成立时循环执行<c:forEach>标签体中的代码段,常用于遍历集合对象中的成员

语法1:遍历集合对象中的成员

<c:forEach items="collection" 将被遍历的集合对象

begin="begin" 开始的位置,必须大于或等于0

end="end" 结束的位置,默认为最后一个成员

[step="step"] 每次循环的增量值(步长值),默认为1

[var="varName"] 指向当前成员的引用(变量名)

[varStatus="varStatusName"]> 存放当前成员相关信息的变量,该就是常用的4个属性为:

index: 当前成员的索引值

count: 共议问过的成员总数

当条件满足时被循环执行的代码段 first: 当前成员是否为第一个成员 

last: 当前成员是否为最后一个成员

</c:forEach>

语法2:循环指定次数

<c:forEach begin="begin" 开始的位置,必须大于或等于0

end="end" 结束的位置,默认为最后一个成员

[step="step"] 每次循环的增量值(步长值),默认为1

[var="varName"] 指向当前成员的引用(变量名)

[varStatus="varStatusName"] 存放当前成员相关信息的变量,该变量常用的4个属性为:

index: 当前成员的索引值

count: 共访问过的成员总数

当条件满足时被循环执行的代码段 first: 当前成员是否为第一个变量

last: 当前成员是否为最后一个成员

</c:forEach>

8.<c:forTokens>标签的用法

功能:用于在JSP中遍历一个字符串中所有由定义符号(delimiters)所分隔的成员,当条件成立时循环执行<c:forTokens>标签体中的代码段

语法:

<c:forTokens items="stringOfTokens" 将被遍历的字符串

delims="delimiters" 用做分割符的字符串

begin="begin" 开始的位置,必须大于或等于0

end="end" 结束的位置,默认为最后一个成员

[step="step"] 每次循环的增量值(步长值),默认为1

[var="varName"] 指向当前成员的引用(变量名)

[varStatus="varStatusName"] 存放当前成员相关信息的变量,该变量常用的4个属性为:

index: 当前成员的索引值

count: 共访问过的成员总数

当条件满足时被循环执行的代码段

</c:forTokens>

9.<c:import>标签的用法

功能:用于将一个静态或动态文件包含到该JSP网页中,所包含的对象不再局限于本Web应用程序,其他Web应用程序中的文件或FTP资源同样可以包含进来

语法1:包含文件时不传递请求参数

<c:import url="url" 被包含文件的访问地址

[context="context"] 包含同一个容器上的其它应用程序中的文件,以/开头

[var="varName"] 存放被包含文件内容的变量

[scope="{page|request|session|application}"] var变量的作用范围

[charEncoding="charEncoding"]/> 包含文件内容的编码格式

语法2:包含文件时传递请求参数

<c:import url="url" 被包含文件的访问地址

[context="context"] 包含同一个容器上的其它应用程序中的文件,以/开头

[var="varName"] 存放被包含文件内容的变量

[scope="page|request|session|application"] var变量的作用范围

[charEncoding="charEncoding"]> 包含文件内容的编码格式

<c:param name="paramName" value="paraValue"/>

请求参数的名称 请求参数的值

10.<c:url>标签的用法

功能:在JSP网页中产生一个URL

语法1:产生不传递请求参数的URL

<c:url value="url" 用于生成URL的URL

[context="context"] 同一个容器上的其它应用程序中的URL资源,以/开头

[var="varName"] 存放生成的URL内容的变量

[scope="{page|request|session|application}"]/> var变量的作用范围

语法2:产生传递请求参数的URL

<c:url value="url" 用于生成URL的URL

[context="context"] 同一个容器上的其它应用程序中URL资源,以/开头

[var="varName"] 存放生成的URL内容的变量

[scope="{page|request|session|application}"]/> var变量的作用范围

<c:param name="paraName" value="pageValue">

请求参数的名称 请求参数的值

</c:url>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值