欢迎来到天天文库
浏览记录
ID:34417350
大小:74.16 KB
页数:11页
时间:2019-03-05
《jstl2.0and1.0(jsp标准标签库)介绍》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JSTL2.0and1.0(JSP标准标签库)介绍 2010-01-0301:17:04
2、 分类:JSTL
3、 标签:
4、字号大中小 订阅作者:HansBergsten,《JavaServerPages,3rdEdition》11/05/2003期待已久的日子即将到来:最新版JavaServerPages(JSP)2.0规范即将和其他的J2EE1.4一同发布。新的JSP版本有一个新的飞跃,采用了新的方式:由于新的语言表达式(ExpressionLanguage,以下简称为EL)和JSP标准标签库(JSPStandardTagLibrary,以下简称为JSTL)这两种新的方式
5、,在页面中不需要用java,对于开发一般的应用来说,重用代码变得更加容易。更具体来说,JSP2.0带来了以下的优点:首次被JSTL1.0引入的EL现在被合并到JSP规范中,就像应用templatetext一样地使用所有的标准的和定制的组件。新的EL已经被扩展,具备一个函数调用机制,JSTL1.1整合了一系列经常需要使用的函数。新增加的变量和servlet规范定义的错误处理机制被更好地组织起来。通过新增加的变量,JSPerrorpages现在可以提供更多的错误信息。容器因为更加严格的语法检查可以更容易地找出发生的错误。所有的J2EE1.4规范(包括JSP2.0和Servlet2
6、.4),为了声明部署的规则描述而应用了XMLschema。这样的好处之一是你现在可以通过任何顺序列出web.xml文件中的描述。JSP2.0也增加了一些新的配置选项用于部署描述,允许通过全局的配置来代替基于每页的配置。由于更具伸缩性的规则和新的自定义actionelement,现在就像编写XML文件一样,编写JSP页面变得更加容易。定制的标签库现在可以开发成一系列的标签文件(具有JSP元素的文本文件),标签处理器可以使用新的、简化的标签处理器的API。与此同时,新规范加入了一些新的特性,比如:支持在jsp页面上显示动态属性列表和可执行片断属性。在众多的书籍中,这是头一个讲解J
7、SP2.0新特性的文章。在这一部分,我们将看到和EL相关的信息,其他的新特性留到后面。在这里我假定读者已经熟悉JSP1.2,而且至少听说过JSTL。你可能对这本第三版的《JavaServerPages》感兴趣。这本书中,我尽可能在细节上讲述所有的内容,而且并不认为你对JSP或者JSTL了解一切。这本书预计在2003年12月出版,但是你现在可以在http://www.amazon.com、Barnes&Noble,或者其他在线书店预订。EL(TheExpressionLanguage)如果过去使用过JSTL,那么你可能已经熟悉了EL。EL在JSTL1.0规范中被引入,用来在运行
8、期间对Java表达式中actionelement属性赋值提供另一种选择。当JSTLEL已经非常迅速的流行起来情况下,还是存在一个问题:JSTLEL表达式仅仅可以与JSTL和customaction一起使用,怎样才能使用非标准API对EL表达式求值?JSP2.0中,JSP容器自己可以理解EL表达式。这使你在所有过去只能应用Java表达式的地方应用EL表达式成为可能,比如:标准和定制action的属性值,模板文本。在我们看具体的例子前,让我们更进一步的看看什么是EL。EL是从JavaScript中获得启发的一种语言,XPath(一种用来访问XML文档的语言),但是EL在对变量的n
9、ull值和执行更多数据类型的自动类型转换的处理上更加宽松。这些新特性对于web应用非常重要,在这些应用中输入通常通过html表单的requestparameter来得到。这些参数可能仅仅在某些请求下才能体现出来,而且浏览器经常将requestparameter作为文本发送,然而应用程序经常需要把他们作为数字类型、布尔类型(true或者false)来使用。通过EL,你根本就很少需要关心缺少某些参数的值或者类型转换。一个EL表达式包含变量和操作符。任何存储在某个JSP作用范围(如:page、request、session、application)的bean能被作为一个EL变量来使
10、用。另外,EL支持以下预定义的变量:变量名称说明pageScope一个包含所有pagescope范围的变量集合(ajava.util.Map)requestScope一个包含所有requestscope范围的变量集合(ajava.util.Map)sessionScope一个包含所有sessionscope范围的变量集合(ajava.util.Map)applicationScope一个包含所有applicationscope范围的变量集合(ajava.util.Map)param一个包含所有请求参数的
此文档下载收益归作者所有