ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:84.32KB ,
资源ID:1498752      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1498752.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(10标准标签库Word格式.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

10标准标签库Word格式.docx

1、1.1 表达式语言 (Expression Language)在前面的章节中,我们学习了JSP页面的构成,知道JSP表达式是JSP脚本中的一种(另外两种分别是Java Scriptlet和JSP声明)。本节要学习的表达式语言EL(Expression Language)是用另一种更简单的形式来书写JSP的表达式。在JSP2.0中默认是启用EL表达式,但是如果在页面中使用 表示禁用EL语言。1.1.1 EL简介EL(Expression Language)目的是为了使JSP写起来更加简单。它的灵感来自于ECMAScript和XPath表达式语言,它提供了在JSP中简化表达式的方法。它是一种简单的

2、语言,基于可用的命名空间(PageContext 属性)、嵌套属性和对集合、操作符(算术型、关系型和逻辑型)的访问符、映射到 Java 类中静态方法的可扩展函数以及一组隐式对象。EL提供了在JSP脚本编制元素范围外使用运行时表达式的功能。脚本编制元素是指页面中能够用于在JSP文件中嵌入Java代码的元素。它们通常用于对象操作以及执行那些影响所生成内容的计算。JSP 2.0将EL表达式添加为一种脚本编制元素。 语法结构在JSP页面中调用EL表达式的一般格式为:$expression其中,expression表示一个有效的EL表达式。一个EL表达式由操作数(一般为变量或文字)和操作符以及方法调用构

3、成。关于有效EL表达式参见1.1.2。变量EL存取变量数据的方法很简单,例如:$username。它的意思是取出某一范围中名称为username的变量。由于没有指定哪一个范围的username,所以它会依序从page、request、session、application范围内进行查找。如找到username,就返回该值,不再继续查找;如果全部的范围都没有找到该变量,则返回null。各内置变量的属性范围在EL中的名称对应于下表 :表示范围的内置对象EL中对应的属性范围变量名称pagepageScoperequestrequestScopesessionsessionScopeapplicati

4、onapplicationScopeEL中可以使用的默认变量分为作用域变量、请求参数变量等,将在下节具体介绍。 EL中的对象数据访问EL提供“.”和“ ”两种运算符来存取对象中的数据,使用方法类似对Java中对象属性或数组元素的访问。这两个操作符有时可以通用,但在下面两种情况下有所区别。当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号时,就一定要使用“ ”。例如:$user.My-Name应当改为$userMy-Name 。同时如果要动态取值时(即要获取的值的名称由变量表示,其值会根据运行环境的不同发生变化),就必须用“”来实现,而“.”无法做到动态取值。$sessionS

5、cope.userdata中data是一个变量时只能使用“ ”进行获取。而user是sessionScope中的一个变量,该变量名是静态的,可以使用“.”进行获取。关于EL中的其他操作符的使用请参见下节。1.1.2 EL中的有效表达式 类似于Java或JSP的表达式,一个有效的EL表达式可以包含文字、操作符、变量(对象引用)和方法调用。下面将分别对每种表达式的构成元素进行讲解。文字EL中可以使用的文字包括布尔类型、整数类型、小数类型、字符串类型以及空值类型,类似于Java中的值,其对应可使用的值见下表:文字类型文字的值布尔类型true 和false整数类型与Java相同,可以是任何带符号整数,

6、如24,-45等。小数类型与Java相同,可以是任何带符号小数,如-1.8E-3,4.5等。字符串类型任何由单引号或双引号限定的字符串。对于单引号、双引号和反斜杠,使用反斜杠字符作为转义序列。必须注意:如果在字符串两端使用双引号,则单引号不需要转义。空值类型null操作符EL表达式可使用的操作符大部分与Java中的操作符相同。操作符可以帮助完成各种所需的操作,之前的示例中“.”、“”就是其中的两个,下面的表展示了所有操作符及它们各自的功能。 功能和作用.访问一个 bean 属性或者 Map entry访问一个数组或者链表元素()对子表达式分组,用来改变赋值顺序? :条件语句,比如:条件 ?if

7、True:ifFalse如果条件为真,表达式值为前者,反之为后者+数学运算符,加操作-数学运算符,减操作或者对一个值取反*数学运算符,乘操作/ 或 div数学运算符,除操作% 或 mod数学运算符,模操作 ( 取余 )= 或 eq逻辑运算符,判断符号左右两端是否相等,如果相等返回 true ,否则返回 false!= 或 ne逻辑运算符,判断符号左右两端是否不相等,如果不相等返回 true ,否则返回 false 或 lt逻辑运算符,判断符号左边是否小于右边,如果小于返回 true ,否则返回 false 或 gt逻辑运算符,判断符号左边是否大于右边,如果大于返回 true ,否则返回 fal

8、se= 或 le逻辑运算符,判断符号左边是否小于或者等于右边,如果小于或者等于返回 true ,否则返回 false= 或 ge逻辑运算符,判断符号左边是否大于或者等于右边,如果大于或者等于返回 true ,否则返回 false& 或 and逻辑运算符,与操作赋。如果左右两边同为 true 返回 true ,否则返回 false| 或 or逻辑运算符,或操作赋。如果左右两边有任何一边为 true 返回 true ,否则返回 false 或 not逻辑运算符,非操作赋。如果对 true 取运算返回 false ,否则返回 trueempty用来对一个空变量值进行判断 : null 、一个空 St

9、ring 、空数组、 空 Map 、没有条目的 Collection 集合func(args)调用方法 , func 是方法名, args 是参数,可以没有,或者有一个、多个参数 . 参数间用逗号隔开下面通过几个示例来演示它们的使用方法:$pageScope.sampleValue + 12 / 显示 12 $(pageScope.sampleValue + 12)/3 / 显示 4.0 $(pageScope.sampleValue + 12) /3=4 =5 $sessionScope.sampleValue 上例中第一句话表示在内置对象session中保存“键”为“sampleValue

10、”,“值”为整数对象10的键值对。第二句话是使用EL表达式获取保存在该session对象中的“键”为“sampleValue”的值并显示在页面上,显示结果为10。其中,“.”是属性访问操作符。 param,paramValues 这两个默认变量包含请求参数的集合,这两个参数返回的值分别对应于request.getParameter(String)和request.getParameterValues()返回的值。param表示请求包含的参数值为单个值。paramValues表明请求包含的参数值为数组。下面看一个简单示例:Sample.jsp:html /body/html在这个页面中定义了两组

11、控件,名为“sampleValue”的控件对应的值为数组,名为“sampleSingleValue”的控件对应的值为单个字符串,通过递交请求将参数传送到以下SampleResponse.jsp : $paramValues.sampleValue2 $param.sampleSingleValue 这是请求转发到的页面,通过EL表达式的paramValues变量得到控件数组中最后一个控件的递交参数,通过EL表达式的param变量得到单一控件的递交参数。控件数组参数的 EL 表达式使用操作符“”来指定数组下标。本示例将显示控件数组中最后一个值“12”和单一控件的值“SingleValue”。 h

12、eader 、 headerValues 这两个默认变量包含请求参数头部信息的集合,header将请求头名称映射到单个字符串头值(通过调用ServletRequest.getHeader(String name)获得)。表达式$header.name相当于request.getHeader(name)。headerValues将请求头名称映射到一个数值数组(通过调用ServletRequest.getHeaders(String)获得)。它与头隐式对象非常类似。表达式$headerValues.name相当于request.getHeaderValues(name)。 cookie 将cook

13、ie名称映射到单个cookie对象。向服务器发出的客户端请求可以获得一个或多个cookie。表达式$cookie.name.value返回带有特定名称的第一个cookie值。如果请求包含多个同名的cookie,则应该使用$headerValues.name表达式。 initParam 包含所有应用程序初始化参数的集合。 pageContext 等价于page环境类javax.servlet.jsp.PageContext的实例,用来提供访问不同的请求参数。以上11个默认变量几乎包含了Web应用的所有基本操作,若一个表达式不使用这些变量而直接使用参数名,那么就采用就近原则,该表达式将使用最近取得

14、的参数值。如在页面中使用以下EL:$sampleValue+10该表达式被解释执行时将会依次在pageScope、requestScope、sessionScope以及applicationScope中寻找“键”为“sampleValue”的变量,如果不存在则使用默认值0。用户自定义的变量包括: JSP页面中用%!进行声明的变量; 通过定义的JavaBean; 通过setAttribute()方法保存在各内置对象中的变量。方法调用 与Java表达式类似,在EL表达式中也可以调用对象变量的方法。如:$sessionScope.user.toInterestsString()表示调用session

15、Scope范围内的对象user中的方法toInterestsString()。1.2 JSTL标签库 在JSTL1.1中有以下标签库是被支持的:Core标签库、XML processing标签库、I18N formatting标签库、Database access标签库、Functions标签库。对应的标识符见下表所示:标签库URI前缀CorecXML processingxI18N formattingfmtDatabase accesssqlFunctionsfn本讲将主要讲解前四种标签库的用法。1.2.1 如何在JSP中使用JSTL由于JSTL是用Java实现的标签库,其运行依赖于相应J

16、ava字节码文件,因此要在JSP中使用JSTL,必须首先下载实现JSTL标签库的包含所有类文件的jar包,主要有两个jar文件(分别为jstl.jar和standard.jar),已经随本文档一起提供。在Eclipse中的安装方法和安装JDBC驱动的方法一样,将这两个文件作为外部jar文件添加到项目的库中,并设置模块依赖。这样,在项目发布时,这两个jar文件将被放到WEB-INFlib目录下。如下图所示:另一种方法是,直接将这两个jar文件复制到Web工程的WEB-INF目录下的lib目录下。安装完成后就可以在Web工程中编写含有JSTL标签的JSP页面了。下面通过一个简单的示例看如何在JSP

17、使用JSTL中的标签库。% page contentType=text/html; charset=UTF-8% taglib prefix=c uri=DOCTYPE HTML PUBLIC -/W3C/DTD HTML 4.01 Transitional/ENc:forEach var=i begin=1 end= step= $i br /c:forEach在本例的JSP页面中首先声明了将使用Core标签库,它的URI为 c ”。之后,页面中标签就是使用了JSTL的标签forEach。对于该标签的功能,这里暂时不作具体讲解。通过本例,可以看出使用JSTL标签库的基本步骤为:1) 首先通过

18、JSP的page指令的taglib属性声明将使用的标签库;2) 其次在页面中可以通过的方式使用该标签库中的标签,其中prefix为标签前缀,tag为标签库中的标签,每个标签都能实现某个特定的功能。下面将分别讲解JSTL中的Core标签库,I18N Formating标签库,数据库标签库以及XML标签库。下面章节中出现的示例都需要首先复制两个jar文件到Web项目的WEB-INF目录下的lib文件夹中,并在JSP页面中使用taglib指令指明要使用的JSTL标签库。1.2.2 Core标签库Core标签库,又被称为核心标签库,主要封装了对于JSP页面一般处理的标签。在该标签库中的标签一共有14个

19、,被分为了四类,分别是: 多用途核心标签:out, remove和。 条件控制标签:if,whenotherwise 循环控制标签:forTokens URL 相关标签:importurlredirectparam 。下面分别讲述各类标签的使用。用于显示的 标签 标签是一个最常用的标签,用于在 JSP 中显示数据。它的属性和描述如下表所示:属性描述value输出到页面的数据,可以是 EL 表达式或常量(必须) default当 value 为 null 时显示的数据(可选) escapeXml当设置为 true 时会主动更换特殊字符,比如“ <,>amp; ”(可选,默认为 tru

20、e ) 在JSTL1.0的时候,在页面显示数据必须使用out value=$requestScope.str1/ default=no value三条语句分别显示“null”、空白、“no value”。对特异字符的处理% request.setAttribute(str, b/btags make things bold);$requestScope.str escapeXml=falseescapeXml属性设为时,显示结果对特异字符“”做了处理。用于赋值的标签 标签用于为变量或JavaBean中的变量属性赋值的工作。值的信息,可以是 EL 表达式或常量target被赋值的 JavaBean 实例的名称,若存在该属性则必须存在 property 属性(可选)propertyJavaBean 实例的变量属性名称(可选)var被赋值的变量名(可选)scope变量的作用范围,若没有指定,默认为 page (可选)下面看一个示例:set value=this is andy var=oneString$oneString 该示例将为名为oneString的变量赋值为this is andy,其作用范围为page。后面的语句将该值显示在页面上。当不存在value属

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2