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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

JSTL+学习笔记.docx

1、JSTL+学习笔记JSTL 学习笔记 JSP Standard Tag Library (JSTL) 的规范完成于2002年7月,随后Apache Taglibs Projects在不久的几天中提交了一个参考实现。JSTL 的出现是为了解决程序员一直渴望有一个标准的标签库的需求,同时也为开发JSP带来了很大的便利。JSTL 1.0提供了一系列基于JSP 1.2 API的标签库,下表列举了一些标签库的信息:DescriptionPrefixDefault URICorecXML ProcessingxI18N & FormattingfmtDatabase Accesssql如果要使用JSTL,

2、那么需要加入如下声明段:除了标签库之外,JSTL 1.0还定义了一个所谓的Expression Language (EL)表达式语言。EL用于访问运行时数据而出现,如果学过JavaScript,你会发现EL在表达上与其很类似。$myObj.myProperty$myObjmyProperty$myObjvarWithTheName$以上的语句用来检索一个对象的内部值,都是等价的。如果是访问一个数组或者列表:$myList2$myListaVar + 1$EL的支持的操作符:OperatorDescription.Access a propertyAccess an array/list ele

3、ment()Group a subexpression+Addition-Subtraction or negation of a number/ or divDivision% or modModulo (remainder)= or eqTest for equality!= or neTest for inequality or gtTest for greater than= or gtTest for greater than or equal& or andTest for logical AND| or orTest for logical OR! or notUnary Boo

4、lean complementemptyTest for empty value (null, empty string, or an empty collection)支持的字面量:Literal TypeDescriptionStringEnclosed with single or double quotes. A quote of the same type within the string must be escaped with backslash: ( in a string enclosed with single quotes; in a string enclosed w

5、ith double quotes). The backslash character must be escaped as in both cases.IntegerAn optional sign (+ or -) followed by digits between 0 and 9.Floating PointThe same as an integer literal, except that a dot is used as the separator for the fractional part and an exponent can be specified as e or E

6、, followed by an integer literal. Booleantrue or false.Nullnull.支持的内建对象:VariableDescriptionparamA collection of all request parameters as a single string value for each parameter.paramValuesA collection of all request parameters as a string array value for each parameter.headerA collection of all re

7、quest headers as a single string value for each header.headerValuesA collection of all request headers as a string array value for each header.cookieA collection of all request cookies as a single javax.servlet.http.Cookie instance value for each cookie.initParamsA collection of all application init

8、 parameters as a single string value for each parameter. pageContextAn instance of the javax.servlet.jspPageContext class.pageScopeA collection of all page scope objects. requestScopeA collection of all request scope objects. sessionScopeA collection of all session scope objects.applicationScopeA co

9、llection of all application scope objects.如果你要访问GET参数:$param.listType如果你要访问HTTP头信息:$headerUser-Agent访问Session或者Request内部包含对象:$sessionScope.customer$requestScope.customer一些例子:First name: First name: c_rt:out value= / 都是等价的。控制流程和迭代操作也是JSTL的一个特性,个人认为迭代标签是当Java 1.5没出来之前对于Java语言的最好补充。迭代操作使用的forEach标签: Ci

10、ty: Tomorrows high: Tomorrows low: Choose标签: 0 a href=foreach.jsp?first= Previous Page Previous Page c:when test=$param.first + noOfRows a href=foreach.jsp?first= Next Page Next Page URL操作: 特别提及的URL操作:a href=Previous Page这里的/images/logo.gif不是从网站的根目录起始,而是自动调整到所对应的context根目录,非常实用。发表于 2006年01月07日 3:40

11、PM | 评论 (0) 编写 纯HTML jsp应用-学会使用 JSTL 刚开始用JSP做web应用的时候,象使用PHP,ASP一样用JSP,在HTML代码中夹杂着一大堆的scriptlet-即java代码段。由于本人的“排版”技术还算可以,开始的时候觉得挺好,编写“效率”高,调试又方便!到了后来才知道-这是一种极其愚蠢的做法儿-JSP诞生的时候就已经明确与ASP,PHP划清了界限,使用javaBean、Servlet可以有效的将HTML中夹杂的java代码段剥离,然后包装成一个可在多个页面复用的“逻辑处理组件”-这是JSP相对于PHP,ASP的优越之处之一。但有时即使使用javabean+s

12、ervlet,我们也不得不将“极少量”的java代码嵌入到HTML中-的确,有时你必须这样:因为在javabean中,你无法使用JSP中的隐含对象,比如request,session,response等.使用Servlet虽然可以使用JSP的对象,但却不能象javaBean灵活地插入到html中-所以,Tag(标签)就出现了(可以使用所有的JSP隐含对象),它的出现彻底解决了这个问题,可以让你编写出“纯HTML”的JSP页码-由此带来的好处自然不言而喻:更高的可维护性、更高的组件复用效率、更易维护的HTML页面小弟不才,刚刚开始学JSTL,觉得这个东东真的很不错!很想让更多的初学者知道这个,并

13、能应用到实际的web开发中。下面,就开始编写我们的第一个Tag!*下面是使用了简单Tag的JSP文件,运行结果是显示当前时间:现在时间是:很明显,使用了tag的JSP页清爽了许多-如果将数据库操作等一些复杂功能也封装进去的话,tag的优势就更明显了!*环境:win2000server+Tomcat5.019+j2sdk1.42+SQLServer2k*开发一个Tag,需要编写2个主要文件:1-标签处理器(一个类servlet的java类)2-标签描述符(一个XML风格的tld文件)完成这两个文件,就可以在WEB应用中部署、应用了。好了,下面我们就开始做吧!1-编写tag处理器:datetag.

14、java它的作用就象一个Servlet,接受来自客户端的请求,但它却可以象javaBean一样在JSP中方便调用。packagetag;importjava.util.Date;importjavax.servlet.jsp.*;importjavax.servlet.jsp.tagext.*;publicclassdatetagextendsTagSupportpublicintdoStartTag()throwsJspExceptionDatedte=newDate();tryJspWriterout=pageContext.getOut();out.print(dte);catch(ja

15、va.io.IOExceptione)thrownewJspTagException(e.getMessage();returnSKIP_BODY;用javac编译之后,就得到了datetag.class文件了,将其放在xxxWEB-INFclassestag目录下。2-编写tag库描述符:tags.tld比较容易看出,部分有点象servletmapping的配置-这里配置的是tag的名字与tag类之间的映射。1.01.2datetag.datetagempty将tags.tld保存在xxxWEB-INF目录下。3-配置你的web.xml:配置web.xml,注册你的标签库:在web.xml的

16、与之间添加:在这里注册你的自定义标签符,在JSP中的引用名为:/tags/tags/WEB-INF/tags.tld4-开始在JSP中使用!因为已经在web.xml中注册过,通过/tags引用你的标签库;prefix的作用就象中的id,只是作为一个标志(可任意定义)很明显,通过调用date,就等于调用了datetag.class:现在时间是:*相信到了这里,有人就有了疑问了:为了使用一个Tag,我就做了这么多的“多余”工作(编写tld,修改web.xml,还要重启tomcat),值得吗?!-答案是:这是很值得的!1、如果将比较复杂的逻辑功能封装进Tag,它就具有比Servlet,javaBea

17、n更高的灵活性,更多的优点,更易扩展,更易维护-彻底分离表示层与逻辑层!2、因为Tag的功能并非只是这一些,还有更多高级功能-值得去学习!*这只是一个很简单的应用,当然,你会有很多的“迷惑点”,这是正常的-在TAG中有一些独有的特性,想完全学会TAG并不是件简单的事情。-所以,在这里,我向大家推荐一本好书:电子工业出版社的jsp标志库编程指南(英文名:ProfessionalJSPTagLibraries)PS:使用JSTL配合javabean,servlet还可以有效保护你的源码哦-因为,你可以向你的客户交付不含有java源代码的web应用,因为,所有的java代码都已经被编译成*.clas

18、s了*_*注意:针对Tomcat5.0x以下的版本-如:Tomcat4.0x:要编译标签处理器,必须将你的servlet.jar(在% TOMCAT_HOME%commonlib下面)放进环境变量CLASSPATH中-(如果是tomcat5.0x以上的版本,好象没这个要求)-否则,会提示编译错误。发表于 2006年01月07日 3:38 PM | 评论 (0) JSTL(JSP标准标签库)介绍 前言从JSP1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServer Pages Standard Tag Libra

19、ry)的诞生。因为工作中需要用到JSTL,但网上却苦于找不到有关JSTL的中文资料,所以就有了这篇文章。JSTL简介JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。JSTL目前的最新版本为1.02,最终发布版为1.0。JSTL包含两个部分:标签库和EL(Expression Language表达式语言)语言。标签库目前支持四种标签: 标签URI前缀示例CorecXML processingxI18N ca

20、pable formattingfmtDatabase access (SQL)sqlCore支持JSP中的一些基本的操作;XML processing支持XML文档的处理;I18N capable formatting支持对JSP页面的国际化;Database access (SQL)支持JSP对数据库的操作。由于本人水平有限,本文仅介绍Core标签,如有兴趣,可一起探讨其它三种标签的使用与扩充。EL语言介绍EL语言是JSTL输出(输入)一个JAVA表达式的表示形式。在JSTL中,EL语言只能在属性值中使用。EL语言只能通过建立表达式$exp1来进行调用。在属性值中使用表达式有三种方式。1、

21、 value属性包含一个表达式在这种情况下,表达式值被计算出来并根据类型转换规则赋值给value属性。比如:中的$username就是一个EL,它相当于JSP语句或2、 value属性包含一个或多个属性,这些属性被文本分割或围绕在这种情况下,表达式从左到右进行计算,并将结果转换为字符串型(根据类型转换规则),并将结果赋值给value属性3、 value属性仅仅包含文本在这种情况下,字符串型属性value将根据类型转换规则转换为标签所希望的类型。EL语言的操作符取得某个对象或集合中的属性值为了获得集合中的属性,EL支持以下两种操作1 使用.操作符来获得有名字的属性。例如表达式$user.user

22、name表明对象user的username属性2 使用操作符来获得有名字或按数字排列的属性。表达式$userusername和表达式$user. username 含义相同表达式$row0 表明row集合的第一个条目。在这里user是一个类的对象,它的属性username必须符合标准JavaBean的规范,即必须为username属性定义相应的getter、setter方法。Empty操作符(空值检查)使用empty操作符来决定对象、集合或字符串变量是否为空或null。例如:$empty param.username如果request的参数列表中的username值为null,则表达式的值为t

23、rue。 EL也可以直接使用比较操作符与null进行比较。如$param.firstname = null。比较操作符 操作符描述=或eq相等检查!=或ne不等检查或gt大于检查=或ge大于等于检查数字运算符与逻辑运算符均与JAVA语言相同,不再列表。Core标签库1、 通用标签标签用于在JSP中显示数据,它有如下属性 属 性描 述是否必须缺省值value输出的信息,可以是EL表达式或常量是无default value为空时显示信息否无escapeXml为true则避开特殊的xml字符集否true例子: 您的用户名是: 显示用户的用户名,如为空则显示guestc:out value=$sessionScope.username

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1