概述
Struts 2 是流行且成熟的基于 MVC 设计模式的 web 应用程序框架。Struts 2 不只是 Struts 1 的版本升级,而它是一个完全重写的 Struts 架构。
WebWork 框架一开始是以 Struts 框架为基础的,它的目标是提供一个建立在 Struts 上加强和改进的框架来使开发人员更容易进行 web 开发。
一段时间之后,WebWork 框架和 Struts 社区联手创建了著名的 Struts 2 框架。
Struts 2 框架的功能
这里有一些强大的功能,它可能会迫使你考虑 Struts 2:
-
POJO 表单和 POJO 动作 - Struts 2 已经去掉了原先是 Struts 框架的一个组成部分的动作表单,利用 Struts 2,你可以使用任何 POJO 来接收表单的输入。同样,你现在可以看到任何作为 Action 类的 POJO。
-
标签支持 - Struts 2 已经改进了表单标签和新标签允许开发人员编写更少的代码。
-
AJAX 支持- Struts 2 已经确认由 Web2.0 技术接管,并且通过创建 AJAX 标签把 AJAX 支持集成到产品中,AJAX 标签的功能非常类似于标准 Struts 2 标签的功能。
-
易于整合 - 与其他框架如 Spring 一起集成,Tiles 和 SiteMesh 是现在更容易使用各种各样有效的使用 Struts 2 的集成。
-
模板支持 - 支持使用模板生成视图。
-
插件支持 - 核心 Struts 2 的特性可以使用插件得到提高和增强。大量的插件对于 Struts 2 来说是可用的。
-
配置 - Struts 2 提供了集成配置来调试和配置应用程序。除此之外,Struts 还在内置调试工具的帮助下提供了集成调试。
-
易于修改标签 - Struts 2 的标签标记可以使用 Freemarker 模板进行调整。这并不需要 JSP 或 Java 知识。基础的 HTML,XML 和 CSS 知识是足够修改标签的。
-
提升较少的配置 - Struts 2 在使用各种设置的默认值的帮助下促进较少的配置。你不需要配置,除非它偏离 Struts 2 设定的默认设置。
- 视图技术: - Struts 2 大力支持多个视图选项(JSP,Freemarker,Velocity 和 XSLT)
以上只是 Struts 2 使它成为企业级框架的前十大功能。
Struts 2 的缺点
虽然 Struts 2 有一列强大的功能,但我不会忘了提及一些关于 Struts 2 的缺点,它将需要很多改进:
-
更大的学习曲线 - 要使用带有 Struts 的 MVC,你必须是熟练使用标准的 JSP,Servlet APIs 和大量精心设计的框架。
-
拙劣的文档 - 与标准的 servlet 和 JSP APIs 相比,Struts 有较少的在线资源,许多第一次使用的用户发现网上 Apache 文档混乱而且缺乏组织。
- 较少的透明度 – 使用 Struts 应用程序有比使用标准的基于 Java 的 Web 应用程序更多的幕后,这使得它很难理解框架。
最后一点,一个好的框架应该提供许多不同类型的应用程序可以使用的通用的特性。Struts 2 是最好的 web 框架之一,而且被广泛地用于开发 Rich 互联网应用(RIA)。