Struts和Tiles辅助基于组件的开发 - 编程入门网
作为“模型-视图-控制器”框架首选的并经过正式认可的开放源码实现,已经越来越流行了。它以与 交付产品一起分发的形式受到来自 Sun 和 IBM 的支持。因为 Craig 积极参与 Tomcat 和 Struts 的开 发工作,所以 Struts 将继续与 JSP 和 Servlet 规范的参考实现高度兼容,进而与所有 J2EE 应用程序 服务器高度兼容。
Malcolm Davis 的有关 Struts 的 developerWorks 文章涵盖了整个 Struts 0.9 的功能;为了简短 起见,我将只讨论对 Struts 0.9 的更改以及他未涉及的 Struts 主题。目前的 Struts 发行版本是 1.0.2,但自 2002 年 3 月 19 日起有一个标记为 1.1-b1 的 beta 测试版可供使用。因为 beta 测试版 表示编码工作已经完成,在这种情况下只进行错误修正,所以极有可能 1.1 的最终版本不久就将面市, 而在 Struts 邮件列表上已经有这种呼声。因此,任何利用 Struts 的新项目很可能都将 1.1 代码作为 基础,而这就是我将讨论的内容。 自版本 0.9 以来对 Struts 框架的有用添加包括经改进的表单验证功能、可以通过 XML 声明来指定 表单元素和可以动态地定义 bean 特性。然而,最重要的添加可能是将 Tiles 模板库合并到 Struts 分 发版中。 您是否曾希望用一种更简便的方法创建一组页面(或可能是整个应用程序),并且每个页面上的用户 界面保持一致 ― 有相同的导航栏、页眉和页脚等等?在含有较多内容的页面内显示多个类 portlet 的 矩形内容的方法又如何?在 Tiles 框架的帮助下,您可以完成这两项任务和其它更多任务。通过定义屏 幕和一组可嵌入在 JSP 页面中的标记的核心 XML 文件来插入静态和动态内容,Tiles 框架允许您构建组 件化的视图,并按您的希望来组装它们,从而有助于提高灵活性、可重用性、一致性和可维护性。 Struts 和 Tiles 之间交互良好,因为这两个项目的开发人员已经认识到这两者具有互补性,所以决 定让这两者共同协作。开发人员可以指定 Tiles 页面定义作为 Struts 操作的目标视图(按照 Struts 的说法是一个 forward )。因为 Struts 和 Tiles 都遵循 JSP 标记库规范,所以可以在 JSP 页面中将 Struts 标记和 Tiles 标记相互混合在一起。 您可能渴望尝试 Tiles 框架,并确切地了解它可以做些什么。如果您希望在自己安装本文的示例前先 了解这些示例的运行情况,可以看看它们在带有嵌入式 Tomcat 的 JBoss 服务器上 是怎样运行的 。 Struts 和 Tiles 是用于 Web 开发的辅助工具,所以您需要设置一个 Web 容器对它们进行实验;将 Tomcat 设置为您的容器,然后设置 Struts 和 Tiles 包,我会在下一节中循序渐进地讲述这一过程。这 些指导信息还向您展示了如何安装本文的样本代码。一旦完成了这一切,您就准备好继续本文。示例 1 应用程序没有利用 Struts 和 Tiles;它演示了以页面为中心的方法。通过将它与示例 2 比较,您会看 到 Struts 和 Tiles 将如何极大地提高您的 Web 开发的结构化程度和可管理性。最后,示例 3 演示了 将功能添加到一个使用 Struts 和 Tiles 的、并且已经启动且正在运行的 Web 应用程序中是多么地简单 。 安装 Struts 和 Tiles 在带有 J2SE 1.4 SDK、Ant 1.4.1、Tomcat 4.0.3 和 Struts 1.1-b1 的 Linux 机器上,下列指导信 息已经经过了测试。如果因这些软件包的版本不同而遇到困难,您可能需要使用上面所指定的版本,以便 开始了解 Struts 和 Tiles 的设置和开发。 如果您没有 J2SE 1.4 SDK(Java 2 Platfrom,标准版 1.4 软件开发工具箱),请从 替换 java.sun.com/j2se/1.4/download.html 获取它,然后遵循该软件包中的指导信息来安装它。您需要 SDK 而不只是 JRE,但是您可以选择获取 Forte/SDK 组合。 确保您的环境变量 JAVA_HOME 设置为 J2SE 1.4 SDK 的安装目 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |