快速业务通道

J2EE探索者: 用五个容易的步骤实现JSP自定义标记 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
。这使您具有在 运行时只需要更新信息一次就可以增加库的灵活性。

J2EE探索者: 用五个容易的步骤实现JSP自定义标记(5)

时间:2011-04-11 IBM Kyle Gabhart

静态引用与动态引用的比较

在进行标记库的静态引用时,JSP 声明必须查询 web.xml 文件以执行库查询。这意味 着如果移动或者重命名了库,或者希望在 web.xml 文件中加入更多的库,就必须停止服务 器、更新 web.xml 文件、然后重新启动服务器。动态方法让 JSP 页直接指向 TLD 位置, 因而是在解释 JSP 页面时进行处理。

静态方法提供了页面与库的实际名和位置之间一定程度的非直接性,这可以为您提供一 些改变这些属性而不修改页面的灵活性。另一方面,动态方法提供了更大的灵活性,让您 可以在运行时增加和移动标记声明。如果您对动态方法感兴趣,但是又担心做了一些改变 后、有可能要更新多个页面的维护负担,那么您可以始终将 JSP 声明放到一个单独的 JSP 文件中,并在每一个要访问 Web 应用程序的自定义库的页面中加入这一页。这使您具有在 运行时只需要更新信息一次就可以增加库的灵活性。

第 5 步. 在 JSP 页面中使用标记

完成了所有这些准备工作后,我们就可以在 JSP 页面中使用这些自定义标记了。清单 3 显示了包含 DateTag 的 JSP 页面的浏览器输出:

清单 3. 带有自定义标记的 JSP 页

<%@ taglib uri="/WEB-INF/lib/DateTagLib.tld" prefix="abc" % > <HTML>    <HEAD>      <TITLE>Date tag example</TITLE>    </HEAD>    <BODY>      <H1>Date tag Example</H1>      <p>Hi today is <b><abc:displayDate /></b> </p>    </BODY> </HTML>

重新启动 Web 服务器并测试自己的 JSP 页面 !结果看起来类似于图 1 所示。

图 1. DateTag 的浏览器输出

J2EE探索者: 用五个容易的步骤实现JSP自定义标记 - 编程入门网

用 JSTL 节省时间

您所需要的自定义标记功能中也许有多达百分之八十已经由 J2EE 团体创建并标准化了 。使用现有的标记库而不是从头创建所有东西会使您节省大量时间和精力。尽管在公共域 有数十种库,不过业界汇集了一个特定的自定义库。Java 标准标记库(JSTL)是由 Java Community Process 设计的,其参考实现是由 Apache Group 通过 Jakarta Taglibs 项目 所开发和维护的(参阅 参考资料)。

JSTL 定义了针对常见 Web 应用程序处理需求,如变量支持、流程控制、URL 管理、 XML 操作、国际化、数据库访问等等的标记。除了一组丰富的标记外,JSTL 还定义了自己 的表达式语言(EL)。EL 使我们可以容易地访问应用程序数据并更容易在不使用脚本或者 请求时表达式的条件下操作这些数据。

除了节省您从头开发所有标记的时间和精力,JSTL 还具有标准化和业界承认的所有好 处。这些好处包括厂商支持、大量介绍文字、以及有很大的机会找到具有 JSTL 经验的雇 员或者承包商。

结束语

在 J2EE Web 开发中越来越多地需要将业务和表示逻辑分离,JSP 自定义标记提供了替 代简单的老 JavaBean 和 Java 脚本的一个有吸引力的方法。更好的是在 JSTL 中已存在 一组已定义的标准的自定义标记库。在 J2EE 探索者 的这篇文章中,您经历了从头创建一 个自定义标记并在 JSP 页面中实现它的过程。我还简单介绍了 JSTL 并阐述了使用它而不 是从头创建所有的自定义标记的好处。

下个月,我们将继续探索 J2EE 技术,对 Web 应用程序安全体系结构进行分析。祝这 段时间里探索快乐!

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号