您可能听说现在有上百种不同的方式,但是在开发 Web 应用程序时将表示逻辑与业务 逻辑分离是很重要的。近年来,Java 平台已经发展为在体系结构层次上加入了这种分离。 例如,在 JSP 体系结构中加入 JavaBean 组件使开发人员使用 JSP 标记获得和设置经过 特别编码的 Java 组件上的属性。这些组件或者 JavaBean 再代表表示层执行后端业务处 理。
JSP 自定义标记是 JSP/JavaBean 体系结构的产物。像 JavaBean 技术一样,自定义标 记有助于将表示逻辑与业务逻辑分离。并且自定义标记成了 Web 设计者的 HTML、XML 和 Javascript 世界与软件工程师的 Java 代码、SQL 调用和算法世界之间的桥梁。
在本月的 J2EE 探索者 中,您将学到在 JSP 页中使用 JSP 自定义标记的一些基本知 识。我们首先介绍 JSP 标记,然后直接进入创建标记、将它结合到 JSP 容器并在 JSP 页 面中使用它的过程。在本文的最后,我们将简要讨论 Java 标准标记库(Java Standard Tag Library, JSTL),这是一组可以在您的 Java 开发项目中使用的、标准化的 JSP 自 定义标记。
JSP 自定义标记
JSP 自定义标记是用户定义的标记,它遵循 JSP JavaBean 标记(即 useBean 、 getProperty 和 setProperty )所使用的一种特殊的 XML 语法。当 servlet 容器处理自 定义标记时,会调用一个或者多个 Java 类文件处理它,与用 Java 类文件处理 JSP 页面 的 JavaBean 调用的方式基本一样。处理标记以后,容器将取其名字和属性、以及标记正 文中可能有的任何内容,并将它传递给一个或者多个类文件进行处理。
Java 开发人员编写标记处理程序类以处理标记并处理所有需要的 Java 代码和数据操 作。对于 Web 设计者来说,自定义标记与标准 HTML 标记除了都可以利用后端动态数据外 ,它们看上去与使用起来没什么区别。正确编写自定义标记可以让 Web 设计者创建、查询 和操作数据而无需编写一行 Java 代码。正确使用自定义标记使 Java 开发人员不必再在 编码过程中考虑表示层。这样应用程序开发小组的每一位成员都可以关注于他或者她最擅 长的事物。
实现 JSP 自定义标记
JSP 体系结构需要以下组件以实现自定义标记:
在每一页中有一个 JSP 声明
Web 应用程序描述符(web.xml)中的一个项
一个包含特殊 XML 文件和为处理自定义标记而调用的 Java 类的 JAR 文件
在下面几节,您将一步一步地学习如何满足这些要求并将自定义标记加入到 JSP 页面 中。要想成功实现 JSP 自定义标记,您需要采取下面五个步骤:
编写标记处理程序类。
创建标记库描述符(TLD)。
使 TLD 文件和处理程序类可访问。