欢迎来到天天文库
浏览记录
ID:46882881
大小:89.00 KB
页数:12页
时间:2019-11-28
《jstl基础【精选】》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JSTL入门:表达式语言简介:JSP标准标记库(JSPStandardTagLibrary,JSTL)是一个实现Web应用程序屮常见的通用功能的定制标记库集,这些功能包扌舌迭代和条件判断、数据管理格式化、XML操作以及数据廂访问。在developerWorks上其新系列的第篇文章中,软件工程师MarkKolb向您展示了如何使用JSTL标记來避免在JSP页而小使用脚木编制元素。您还将了解如何通过从表示层删除源代码来简化软件维护。最后,您将了解JSTL经过简化的表达式语言,它允许在不必使用功能齐全的编程语言的情况下对
2、JSTL操作指定动态属性值。JavaServerPages(JSP)是用于J2EE平台的标准表示层技术。JSP技术提供了用于执行计算(这些计算用来动态地生成页而内容)的脚本编制元素和操作。脚本编制元素允许在JSP页血中包括程序源代码,在为响应用户请求而呈现页血时可以执行这些源代码。操作将计算操作封装到很象HTML或XML标记的标记中,JSP页山i的模板文木通常包含这些标记。JSP规范只将儿种操作定义成了标准,但从JSP1.1开始,开发人员已经能够以定制标记库的方式创建其自己的操作了。JSP标准标记库(JSTL)是
3、JSP1.2定制标记库集,这些标记库实现大量服务器端Java应用程序常用的基木功能。通过为典型表示层任务(如数据格式化和迭代或条件内容)提供标准实现,JSTL使JSP作者可以专注于特定于应川程序的开发需求,而不是为这些通用操作“另起炉灶”。当然,您可以使用JSP脚木编制元素(scriptlet、表达式和声明)來实现此类任务。例如,可以使用三个scriptlet实现条件内容,清单1中着重显示了这三个scriptleto但是,因为脚本编制元素依赖于在页面中嵌入程序源代码(通常是Java代码),所以对于使用这些脚心编制
4、元素的JSP页而,其软件维护任务的复杂度大大增加了。例如,清单1中的scriptlet示例严格地依赖于花括号的止确匹配。如果不经意间引入了一个语法错误,则条件内容中的嵌套其它scriptlet可能会造成严重破坏,并口在JSP容器编译该页而时,要使所产生的错误信息有意义可能会很困难。清单1.通过scriptlet实现条件内容<%if(user.getRole()==”member”)){%>
Welcome,member!
Welcome,guest!
5、题通常需要相当丰富的编程经验。尽管通常会由十分精通页而布局和图形设计的设计人员来开发和维护JSP,但是同一页面中的脚环:编制元索出现问题时,需要程序员的介入。这种状况将单个文件屮代码的责任分担给多人,因而使得开发、调试和增强此类JSP页而成为很麻烦的任务。通过将常用功能包装到定制标记库的标准集合中,JSTL使JSP作者可以减少对编制脚本元索的需求,英至可以不需要它们,并避免了相关的维护成本。JSTL1.0JSTL1.0发布于2002年6月,由四个定制标记库(core、format>xml和sql)和一对通用标记胛
6、验证器(ScriptFreeTLV和PermittedTaglibsTLV)组成。core标记库提j共了定制操作,通过限制了作用域的变虽管理数据,以及执行页而内容的迭代和条件操作。它还提供了用来生成和操作URL的标记。顾名思义,format标记库定义了用来格式化数据(尤其是数字和日期)的操作。它还支持使用木地化资源束进行JSP页面的国际化。xml库包含一些标记,这些标记用來操作通过XML表示的数据,而sql库定义了用來杳询关系数据库的操作。两个JSTL标记阳验证器允许开发人员在其JSP应用程序中强制使川编码标准。
7、可以配置ScriptFreeTLV验证器以在JSP页而中禁用各种类型的JSP脚本元素一scriptlet、表达式和声明。类似地,PermittedTaglibsTLV验证益可以用來限制可能由应用程序的JSP贝血访问的定制标记库集(包括JSTL标记库)。尽管JSTL最终将会成为J2EE平台的必需组件,但目前只有少数应用程序服务器包扣;它。JSTL1.0的参考实现可作为Apache软件基金会(ApacheSoftwareFoundation)的JakartaTaglibs项冃(请参阅参考资料)的一部分而获得。可以将该
8、参考实现中的定制标记库合并到任何支持JSP1.2和Servlet2.3规范的服务器,以添加対JSTL的支持。表达式语言在JSP1.2中,可以使用静态字符串或表达式(如果允许的话)指定JSP操作的属性。例如,在清单2中,对<jsp:setProperty>操作的name和property属性指定了静态值,而用表达式指定了其value屈性。这个操作的效果是将请求参数的当前值赋
此文档下载收益归作者所有