精品推荐
阅读排行
· 查看svchost.exe进程· PRO/E 十种技巧
· [组图] 3ds Max 高级长篇人
· [组图] PRO/E的曲面设计
· 怎样学好PRO/E软件?
· 路由技术介绍
· Pro/ENGINEER 学习资
· [组图] Photoshop制作珠宝文
· xml的应用是什么?x
· [组图] flash人物绘画教程
- MVC 是开发健壮的 Web 软件的优秀体系结构。 面向页面的体系结构是简单的,但随着应用程序在规模和使用范围方面的增长会逐渐失去作用。MVC 是一种经证实适合于较大型应用程序的模型。
- Struts 和 Tiles 为复杂应用程序提供一个坚实的基础。 Struts 和 Tiles 符合 MVC 范例,并允许开发人员创建随业务需要在管理状态下增长的应用程序。
- Struts 和 Tiles 受到强大的业界支持,并在开发人员中有逐渐流行和具有推动力。 这确保了其被广泛采用,并保护了开发人员和公司投入的时间和金钱。
- 您可以参阅本文在 developerWorks 全球站点上的 英文原文 .
| 作者:佚名 来源:www.pccode.net 整理 发布时间:2006-3-8 16:06:36 发布人:wongrs |
| Struts 和 Tiles 辅助基于组件的开发(5) Struts 和 Tiles 更复杂的使用 您会在本文的两个示例中注意到,我编码了名、姓、喜欢的颜色和出生日期等基本验证。我所采用的这类简单验证实际上可由 Struts 通过使用它的格式验证来执行,这样节省了花在编码 Java 语句的时间。例如,检查是否是空字符串、检查字符串是否与日期相匹配或检查是否与其它某些正则表达式匹配等,这都是可行的。您会发现将格式验证用作第一级检查会是十分方便的,在检查是否符合更复杂的业务逻辑规则之前,程序可用第一级检查来消除一些明显错误。Struts 提供了一个验证器包,可以通过 WEB-INF 目录中的 validator.xml 描述符来配置该包。在这两个示例中我没有包含该验证器包;如果您想试一下,它包含在 Struts 1.1-b1 包中。 Struts 和 Tiles 包的另一个有用特性是与容器管理的安全性相集成。很多人都在使用诸如 IBM WebSphere 或 JBoss 之类的应用程序服务器。这些服务器通过处理安全性中所涉及的许多日常任务使认证和授权更便捷,让您摆脱必须对它们进行的编码。Struts 允许您根据用户角色有条件地向不同用户显示 bean 数据的不同位,这可以通过自动查询容器来决定。同样地,Tiles 框架允许您根据用户角色有条件地向不同用户显示不同的视图组件,这也是通过自动查询容器来决定的。我在自己的应用程序中使用这些特性向管理员、常规用户或 guest 用户显示不同的菜单。 最后要说明,我在示例中没有谈到国际化,但对于那些构建将来最终要以多种语言发布的大型应用程序的人来说,这实际是一个重要方面。Struts 让您创建消息资源特性文件,这些文件指定标签、标题和其它输出的文本。如果您用几种不同语言的输出填入消息资源特性文件的话,只要简单更改语言设置就能将所有窗口构件和硬编码的文本更改成适当语言,甚至在应用程序运行中也可以更改。 未来的方向 另一个同样有望即将出现的更改是将 Struts 标记合并到 JSP 标准标记库(JSP Standard Tag Library)中,这个库是 Jakarta 项目,它试图产生一个有用的定制标记集合,从而简化并加快用 JSP 页面编写 Web 应用程序的开发。其中的意义在于:Web 应用程序的开发将比过去任何时候都更容易,因为您可以通过使用定制标记的标准机制得到一个在此基础上做进一步开发的预先编写好的代码库。而且,JSP STL 标准中这个项目的合并甚至确保了 Struts 和 Tiles 功能更为广泛的分发和可用,这意味具有这种技能的开发人员在众多项目中大有作为,而且公司更加容易获得开发 Web 应用程序的熟练人才。 您能从本文中获得什么? 有了 Struts 和 Tiles,您会发现现在创立您自己的 Web 应用程序更加容易了。 参考资料 Wellie Chao 是 Caravel Technologies 的总裁兼首席技术专家,Caravel Technologies 是一家为各种规模的企业提供技术策略、设计和实现服务的电子商务和技术咨询公司。他多年来一直活跃于技术领域中,自 1984 年以来,他一直涉足软件和硬件的研发,而且从 1994 年开始,他用各种语言在不同平台上编写基于 Web 的软件。他创建并掌管着三家软件技术公司;在招募有才能的职员和管理人员,筹集风险资金及处理与供应商、客户和业务伙伴之间的业务往来方面拥有直接和丰富的经验。他还设计并实现了一个大规模的基于 Web 的企业软件系统。 |
| [ ] [返回上一页] [打 印] [收 藏] |
