JSP标记库:着意设计的更好的可用性

王朝java/jsp·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

JavaServer Pages(JSP)技术是用于开发 Web 应用的优秀体系结构,但它的最重要的实用技术之一 ? 定制标记库(custom tag library)? 却常常未被充分利用。标记库实用技术未被充分利用的主要原因不是技术上的,而是语言上的。标记库生产者和消费者说的不是相同的语言。JSP 专家和顾问 Noel J. Bergman 揭示了问题的本质并提供了一些可行的解决方案。

将底层内容模型与表示分离是件好事,这在 Web 应用开发人员中间得到了普遍的认同。在多数大型开发工程中,程序员负责实现后端,表示则留给一名或多名 Web 页面设计人员去做。这种分工确保了最终产品技术可靠、同时表示良好,但它肯定要求两个小组有效地沟通和合作。考虑到每个小组工作时所依赖的知识基础不同,而且关注的问题也极其不同,这可能是一个挑战。

在引入 JavaServer Pages(JSP)规范的版本 1.1 中的定制标记库之前,必须使用 JSP 脚本元素来在 JSP 页面内提供任意的定制功能性。显式地使用脚本元素违背了模型与表示相分离的原则。显式地使用脚本元素还要求,如果 Web 页面设计人员要做任何“从 JavaBean 组件中检索属性”之外的事情,他就要具有 Java 编程经验。这引起了人们对 JSP 页面内脚本元素的使用的广泛关注,这接着导致了人们进行替代解决方案的开发。

一个经典的解决方案是开发出了模型-视图-控制器(Model-View-Controller)类型的使用模型。在这种使用模型中,应用程序的智能部分放置在 servlet 和 bean 中,JSP 页面只负责检索内容并将它呈现出来。Jakarta Struts 就是这种模型的一个很好的示例。别的开发小组已经创建了诸如 Velocity 内容引擎或 Apache 的 Cocoon 工程这样的替代技术。

虽然这些解决方案各有千秋,但它们通常是非标准的,而且忽视了 JSP 技术的持续发展。我们将在本文着重讨论 JSP 技术中使用最不充分的实用技术之一:定制标记库。我的目标是改变您对定制标记库(更具体地说,是标记设计)的思考方式。我的讨论将从澄清关于 JSP 技术及其某些替代解决方案的一些误解开始,然后再转到中心论题上。

JSP 技术:误解和替代解决方案

关于 JSP 技术的常见误解有很多,其中一些误解通常已经过时,而且还吓走了潜在的用户。表 1 列出了一些最常见的误解。

表 1. JSP:误解

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航