相比于jsp:include标签提供的页面包含功能,Tiles存在着以下一系列的优势[11]:
1.通过Tiles的继承功能,可以有效的消除多余与重复的配置信息,减少代码重复
2.Tiles可以减少无关视图之间的耦合
3.Tiles使用XML文件进行视图配置,提高了布局控制度。
4.Tiles提供了国际化的I18N支持
2.3 JavaScript和JQuery
JavaScript[12]是一种面向对象的脚本语言,它被广泛的应用于各种客户端,其源代码会直接在客户端浏览器上呈现,由浏览器解释执行。JavaScript是一种跨平台的语言,但在不同的浏览器中可能会有不同的标准,这也对JavaScript的使用带来了一定的限制。此外,由于JavaScript是在页面加载时通过浏览器解释执行的,大量的JavaScript脚本程序的存在也会降低页面的加载速度。现在,还存在着许多对JavaScript的扩展库,它们丰富了JavaScript的功能,也使得JavaScript的使用更加方便。
JQuery[13]是一个轻量级的JavaScript扩展库,主要提供了选择器,事件绑定、属性修改等功能,其主体部分只包括了核心功能,使用相对简单。相比于JavaScript操作的棘手,JQuery更加注重开发人员的感受,开发人员只要写很少的代码就可以轻松完成文档查询、交互、Ajax等的原本复杂的工作。
2.4 模板技术:
相比于业务逻辑层和数据持久层,表示层中往往包含了多种标记语言和编程语言,是Web构件重用中的难点所在。而模板技术则对表示层的重用提供了支持。
从本质上来讲,模板技术[14]是一个为动态内容预留位置并在页面生成时由后台传入具体数据的过程。使用模板技术有助于实现页面设计与应用程序逻辑的分离,模板页面本身并不依赖于Web环境,也不包含复杂的程序片段,易于重用。Freemarker[15]就是这样的一个工具,Freemarker可以看做是一个完整框架的一部分,尤其适用于基于Servlet应用程序的MVC模式。Freemarker并不拥有完整的编码能力,它只是做好数据显示的准备工作,由后台程序提供具体的数据,整合生成页面文件。文献综述
图3.1 模板文件的工作原理
2.5 本章小结
本章大略介绍了论文中涉及的框架环境和开发技术,这些技术为下文中可重用构件的实现提供了技术支持。
3 可重用构件的需求与设计方案
Web应用中对可重用Web构件的开发往往有各种各样的需求,本章主要针对几个Web开发中常遇到的问题进行讨论,提出一般性的可重用Web构件的设计和测试方案。
3.1 可重用Web构件的需求
随着Web应用系统规模和功能日益复杂,系统中各种模块的数量也越来越多,这些模块的关系可以分为以下三类:
1. 完全相同,这些模块的访问对象,呈现方式,提供的服务完全一致,只需要设计一个构件,就可以在不同地方重用。
2. 完全不同,提供完全不同的显示与访问,必须为每个对象单独设计一个Web构件。
3. 部分相同,这些模块的功能、显示有很大一部分重复,又不完全相同,从设计上看,若为每个模块单独设计一个构件必然会导致大量冗余,也不利于系统维护和更新。如何设计一种Web构件,在实现合并重复功能的基础上,又能根据不同情况满足不同的需求,是可重用Web构件开发的关键所在。
对于大型复杂的多角色多用户协同工作Web应用系统而言,这些功能相似的模块往往出现在以下几个地方:
1. 多角色之间的重复设计: