JSTL标准标签库的使用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
准规范之一。
把传统的JSP代码段与EL做一个比较: 传统的JSP代码段 EL表达式
<%=request.getParameter(“name”)%> ${}或者 ${param[“name”]}
EL有自己的隐含对象和运算符。
表达式语言简介1
EL 为表达式语言 由两个组开发
运算符
运算符
算术
关系
逻辑
Empty
运算符
* / 或 div + -
运算符 描述 <或 lt 小于 乘法 > 或 gt 除法 < = 或 le 加法 >= 或 ge == or eq 减法 != 大于
描述 运算符 &&、and
运算符 描述 Empty 逻辑与 逻辑或
描述 检查空值
通用标签
条件标签
迭代标签
通用标签1
通用标签库用于操作 JSP 页面内的作用域 变量 通用标签库中的标签:
通用标签
set
remove
out
通用标签 2
插入使用通用 标签的指令
<%@ taglib uri=/jstl/core_rt prefix="c" %> <body> <c:set var= "example" value="${100+1}" scope="session" /> <c:out value="${example}"/>
文字常量1
文字常量被指定为固定值 JSP 表达式语言支持文字常量
文字常量
布尔型
整型
浮点型
字符串型
Null
文字常量2
布尔型 – 指定或检查运算结果,返回结果为 true 或 false 整型 – 表示十进制、十六进制和八进制类型的值 浮点型 – 由两部分组成,如用 ’E’ 或 ’e’ 和后缀类型表示的 指数 字符串型 –由 0 个或多个字符组成 Null – 表示无值,Null 值可用于代码中检查方法是否返回值
|| or 小于等于 大于等于 等于 不等于
保留字
程序中不应使用保留字作为变量名或方法 的名称
运算符
and or not eq ne le gt
描述
与 或 非 等于 不等于 小于等于 大于
运算符
ge true false null empty div mod
描述
大于等于 True False Null 清空 相除 取模
paramValues:返回映射至客户端的请求参数的一组值
隐含对象3
header:返回一个请求标题名称,然后将该值映射至单个字符串值 headerValues:返回映射至请求标题的一组值 cookie:返回映射至单个 Cookie 对象的 Cookie 名称
initParam:返回映射至单个值的上下文初始化参数名称
演示:示例 3 jstlif.jsp
迭代标签库 1
迭代标签用于多次计算标签体 迭代标签库中的标签有:
迭代标签
forEach
forTokens
param
paramValues
initParam
cookie
pageScope
header requestScope
headerValues
sessionScope
applicationScope
隐含对象2
pageContext:提供对页面属性的访问
param:返回客户端的请求参数的字符串值
能力目标
熟悉c:forEach、 c:if、c:out、 sql:setDataSource、 sql:query等标记的 用法。
态度目标
动手勤练 善于提问 独立思考
一、EL简介
EL(Expression Language)表达式语言是JSP2.0的一
个主要的组件。EL使用十分方便,语法也很简单,已成为标
二、JSTL
JSP标准标记库(JSP Standard Tag Library,JSTL)是一 个实现web应用程序中常见的通用功能的定制标记库集,这些功能 包括迭代和条件判断、数据管理格式化、XML操作及数据库访问等。 用EL表示。 JSTL标签库可以在一定程度上减少页面中的java代码,使得 代码更能简洁,有利于提高可阅读性,也更便于维护。
JSP 标准标签库专家组 JSP 2.0 专家组 JSP 表达式语言的语法 ${EL Expression} JSP EL 表达式用于以下情形 静态文本 标准标签和自定义标签
表达式语言简介2
请求 响应 静态内容 客户端 动态内容
JSP 页面
演示:示例 3
变量
Web 容器计算变量 用pageContext.findAttribute(String)确定变 量的值 点运算符 ( . ) 或方括号( [ ] ) 访问变量的值
隐含对象1
隐含对象
pageContext
响应
服务器
请求
${ EL Expression }
表达式语言简介3
<html> <td>或</td> <body> <td>${'${'}true or true}</td> <td>${true or true}</td> <h1>EL Logic</h1> </tr>border="1"> <table <tr> <td> 或</td> <td><b> 逻辑运算</b></td> <td>${'${'}true || false}</td> <td><b>EL 表达式 </b></td> <td>${true || false}</td> <td><b>Result</b></td> </tr> <tr> <td>非 与</td> <td>${'${'}not <td>${'${'}truetrue}</td> and true}</td> <td>${not <td>${truetrue}</td> and true}</td></tr> </tr> <tr> <tr> <td>与</td> <td> 非</td> && false}</td> <td>${'${'}true <td>${'${'}'!false}</td> <td>${true && false}</td></tr> <td>${!false}</td> <tr> </tr> </table> </body> </html>
条件标签1
JSTL 提供条件标签以支持 JSP 页面中的各种条件 条件标签包括:
条件标签
if
choose
条件标签 2
<body> <c:set var="signalStrength" value="7” scope="page" /> 在 页面中使用条件标签。 <c:ifJSP test="${pageScope.signalStrength < 5}"> <c:set var="signalFailure" value="true" scope="page" /> if 和 choose 标签的用法。 </c:if> <h1> 使用 If 和 Choose</h1> <c:choose> <c:when test="${pageScope.signalFailure == true}"> 信号断开 </c:when> <c:otherwise> 信号打开 </c:otherwise> </c:choose> </body>
JSP开发技术
项目八: JSTL标准标签库的使用
任务1:使用core、sql库中的标记改造JSP页面
主要任务(项目导入)
1
2
EL简介
JSTL标签库
3
4
core核心标签库 sql标签库
任务目标
知识目标
熟悉jsp的taglib指 令的用法 了解表达式语言 EL的语法、jstl的含 义 熟悉jstl中的core 库、sql库的用法
out 标签显示值的结果
set 标签用于给变 量设置值和作用域
<c:remove var= "example" scope="session"/>
</body>
remove 标签用于删 除具有作用域的变量
通用标签3
<body> 在 JSP 页面中使用通用标签
<H1>欢迎来到 Shop Stop</H1> 、 out 和 remove 标签的用法 sessionvariable, 此 Web 应 该set JSP 页面在一个 session 作用域内的变量中存储 用程序中的其他 JSP 页面可以访问此变量. <p /> <c:set var="sessionvariable" value="${80+8}" scope="session" /> 在删除 sessionvariable 之前先显示它的值: <c:out value="${sessionvariable}"/> <c:remove var="sessionvariable" scope="session" /> <br/> 显示并删除后的 sessionvariable 的值. <br /> <c:out value=“${sessionvariable}”> sessionvariable 为NULL </c:out> </body>
" value
在运行时计算 的 EL 表达式
= " ${param[" num "]} " >
文本)中的表达语言简介5
<%@ taglib uri="/jstl/core_rt" prefix="c" %> <html> <head> <title>表达式示例</title> 作为背景色属性值 </head> 传递的 EL 表达式 <% pageContext.setAttribute("color","#FFFFCC"); %> <body bgcolor = '${pageScope.color}' > <h1>变化的背景色</h1> </body> </html>
<table> 标签中 的 EL 表达式
<table> 标签中 的 EL 表达式
演示:示例 1
表达式语言简介4
<html> <body> <h2>该商品的价格是 ${84.5E4}.</h2> </body> <html> <input type = " text " name = " num <h2> 标签(静态
pageScope:返回页面范围的变量名,这些名称已映射至相应的值
隐含对象4
requestScope:返回对请求对象的属性的访问权限
sessionScope:返回会话范围的变量名,这些名称已映射至相应的值
applicationScope:返回应用范围内的变量,并将变量名映射至相应的值
三、core 核心标签库
核心标签库(Core)主要为基本输入输出、流程控制、 迭代操作和URL操作提供了定制标签。
凡是要用到核心标签库的JSP页面,均要使用<%@taglib %> 指令设定prefix和uri的值。例如: <%@ taglib prefix=”c” uri=”/jsp/core”%> 核心标签库
JSTL标签库实际上包含5个不同功能的标签库:核心标签库 core、访问关系数据库的sql、编写国际化Web应用的I18N、对 XML文档进行操作的xml、包含了一组通用的EL函数的fuctions。
将jstl.jar和standard.jar复制到自己web应用程序的WEBINF/lib目录下便可使用JSTL了。