您的位置:首页 > 编程语言 > Java开发

Struts 和 Tiles 辅助基于组件的开发(5)

2007-09-07 15:47 260 查看
Struts 和 Tiles 辅助基于组件的开发(5)

Struts 和 Tiles 更复杂的使用

篇幅所限,不允许我再深入讨论 Struts 和 Tiles 包其它一些实用的方面,但我真的想简要地谈一下,这样您可以对 Struts 和 Tiles 可以做些什么有所了解。如果有足够的需求,可能这些内容会是将来文章的主题。

您会在本文的两个示例中注意到,我编码了名、姓、喜欢的颜色和出生日期等基本验证。我所采用的这类简单验证实际上可由 Struts 通过使用它的格式验证来执行,这样节省了花在编码 Java 语句的时间。例如,检查是否是空字符串、检查字符串是否与日期相匹配或检查是否与其它某些正则表达式匹配等,这都是可行的。您会发现将格式验证用作第一级检查会是十分方便的,在检查是否符合更复杂的业务逻辑规则之前,程序可用第一级检查来消除一些明显错误。Struts 提供了一个验证器包,可以通过 WEB-INF 目录中的 validator.xml 描述符来配置该包。在这两个示例中我没有包含该验证器包;如果您想试一下,它包含在 Struts 1.1-b1 包中。

Struts 和 Tiles 包的另一个有用特性是与容器管理的安全性相集成。很多人都在使用诸如 IBM WebSphere 或 JBoss 之类的应用程序服务器。这些服务器通过处理安全性中所涉及的许多日常任务使认证和授权更便捷,让您摆脱必须对它们进行的编码。Struts 允许您根据用户角色有条件地向不同用户显示 bean 数据的不同位,这可以通过自动查询容器来决定。同样地,Tiles 框架允许您根据用户角色有条件地向不同用户显示不同的视图组件,这也是通过自动查询容器来决定的。我在自己的应用程序中使用这些特性向管理员、常规用户或 guest 用户显示不同的菜单。

最后要说明,我在示例中没有谈到国际化,但对于那些构建将来最终要以多种语言发布的大型应用程序的人来说,这实际是一个重要方面。Struts 让您创建消息资源特性文件,这些文件指定标签、标题和其它输出的文本。如果您用几种不同语言的输出填入消息资源特性文件的话,只要简单更改语言设置就能将所有窗口构件和硬编码的文本更改成适当语言,甚至在应用程序运行中也可以更改。

未来的方向

Struts 和 Tiles 将走向何方呢?刚出现的两个更改必定会使 Struts 和 Tiles 更加有用。第一个更改是工作流管理系统。您很可能处理过许多多步骤的业务过程;目前,在 Web 应用程序中对它们进行编码可以是一个主要的麻烦,因为您必须协调不同的步骤,而每一步骤都是 Java 类中的一个单独方法或是一个单独的 servlet 或 JSP 页面。商业市场中的工具通过使开发人员能对多步骤的业务过程进行建模,然后自动生成 Java 代码作为进一步开发的基础,来帮助管理这些过程。Struts 工作流管理系统将提供类似的功能,使开发人员能够编写业务过程的脚本,这些过程在 Web 应用程序中跨多个页面,并指定这些页面如何通过核心的基于规则的系统进行交互。

另一个同样有望即将出现的更改是将 Struts 标记合并到 JSP 标准标记库(JSP Standard Tag Library)中,这个库是 Jakarta 项目,它试图产生一个有用的定制标记集合,从而简化并加快用 JSP 页面编写 Web 应用程序的开发。其中的意义在于:Web 应用程序的开发将比过去任何时候都更容易,因为您可以通过使用定制标记的标准机制得到一个在此基础上做进一步开发的预先编写好的代码库。而且,JSP STL 标准中这个项目的合并甚至确保了 Struts 和 Tiles 功能更为广泛的分发和可用,这意味具有这种技能的开发人员在众多项目中大有作为,而且公司更加容易获得开发 Web 应用程序的熟练人才。

您能从本文中获得什么?
在阅读了本文后,您应该记住以下要点:

MVC 是开发健壮的 Web 软件的优秀体系结构。 面向页面的体系结构是简单的,但随着应用程序在规模和使用范围方面的增长会逐渐失去作用。MVC 是一种经证实适合于较大型应用程序的模型。

Struts 和 Tiles 为复杂应用程序提供一个坚实的基础。 Struts 和 Tiles 符合 MVC 范例,并允许开发人员创建随业务需要在管理状态下增长的应用程序。

Struts 和 Tiles 受到强大的业界支持,并在开发人员中有逐渐流行和具有推动力。 这确保了其被广泛采用,并保护了开发人员和公司投入的时间和金钱。

有了 Struts 和 Tiles,您会发现现在创立您自己的 Web 应用程序更加容易了。

参考资料

您可以参阅本文在 developerWorks 全球站点上的 英文原文 .

关于作者
Wellie Chao 是 Caravel Technologies 的总裁兼首席技术专家,Caravel Technologies 是一家为各种规模的企业提供技术策略、设计和实现服务的电子商务和技术咨询公司。他多年来一直活跃于技术领域中,自 1984 年以来,他一直涉足软件和硬件的研发,而且从 1994 年开始,他用各种语言在不同平台上编写基于 Web 的软件。他创建并掌管着三家软件技术公司;在招募有才能的职员和管理人员,筹集风险资金及处理与供应商、客户和业务伙伴之间的业务往来方面拥有直接和丰富的经验。他还设计并实现了一个大规模的基于 Web 的企业软件系统。
Wellie 曾在哈佛大学的各种商人和企业家组织中担任讲师和演讲人。他是纽约哈佛俱乐部(Harvard Club of New York)计划委员会(program committe)中的一员,并积极地策划和组织商业和技术计划。Wellie 拥有哈佛大学的荣誉 AB,他在哈佛攻读了经济学和计算机科学专业。可以通过 wchao@caraveltech.com 与他联系。(全文完)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: