第一部分 Struts入门
第一章 Struts2 概览(beta)
第二章 一个简单的Login 应用程序(beta)
Struts 2 概要
第三章Struts配置(beta)
第三章 Struts配置(第一节 struts.properties配置)
第三章 Struts配置(第二节 Actin配置)
第三章 Struts配置(第三~七节其他配置)
第四章 Tablib Struts标签库
4.1节 通用标签
4.2节 UI标签
4.3节 主题和模板
4.4节 AJAX标签(试验阶段)
4.5节 OGNL
4.6节 Tag 语法
4.7 JSP,Freemarker和Velocity
第五章 Validation(beta)
Struts2 校验详细比较(XML配置部分,包含服务端校验,客户端纯JavaScript校验,Ajax校验)....
<action .... class="org.sandbox.base.struts.sys.{1}Action" ....>,这里的{1}是最棒的,可以根据actionName寻找并加载相应的Action Class。
系统中,总存在一些简单的对象,需要提供CRUD功能,如果把它们都放在同一个namespace中,并按照同样的模式进行实现,则只需要上述一个配置文件就够了。
同时,通过这种配置,如struts的doc所描述,同时可以避免暴露Action类的方法,提高安全性。
有两点小小缺憾:
在上篇文章中,我们已经从较高层解释了整个框架的结构,请求流程的基础,配置方式和Struts2和Struts1的不同之处。了解这些后从Struts 应用 迁移到 Struts 2 不再是难事。
在这篇文章中,我们将会更详细地讲述如何由Struts 的action转为Struts 2的action。
一个应用的例子
这个例子选择了大家都熟悉的 - weblog. 简单地介绍下这例子的功能需求:
增加一个新的日志
增删修改(CRUD),是项目中最为普遍的应用。
总结
我们并不可能在这篇文章中覆盖所有的内容,如果你需要更好的了解整个框架,还有其他的实现方式和选项,这里有几点可以供你参考:
也许到现在为,也许你有个疑问,"迁移后我们的界面是否可以完全重用呢?",答案是yes。你能从这里, 下载到我这篇文章中的完整源代码,你可以自己尝试把URL的扩展名由".do" 改为 ".action",使用的页面时一样的。除此之外,其实用JSTL来代替Struts taglib也是很容易的。
在下一篇文章中,我们将讲述用户界面,讨论themes 和 tags; 如何做validation; 如何重用UI控件。
有很多人都很熟悉 Struts, 无论是从项目中直接获得的实战经验还是从书中了解到的。我们这一系列文章,将通过一个由 Stuts 转移到 Struts2 简单的例子向大家展现Struts2的所有特征。
在我们开始这个例子之前,你需要去知道一点 Struts2的背景知识。 在第一部分的文章中,我们将介绍Struts2与Struts的核心框架的不同点,以助于更好地了解其他方面的整合。第二部分中,我们将深入探讨 actions 的差别, action相关的框架特征,和action配置。在最后一部分中,我们将会讲述 user interface,我们也会讲到其架构,UI构件,themes 和标签。 还有如何为你的应用加上新的外观。
我们并不打算谈及迁移过程的所有细节方面,我们只是从出发点开始介绍Struts2 的概念和现在可用的所有特征。但拥有这些知识,你将在以后Struts2的应用中无往而不利。
Struts的历史
Struts的第一个版本 是在 2001年5月份发布。它提供了一个Web应用的解决方案,如何让 JSPs 和 servlets 共存去提供清晰的分离视图和业务和应用逻辑的架构。在Struts之前,最通常的做法是在JSP中加入业务和应用逻辑,或者在servlets中生成视图。
自从第一个版本的发布, Struts 实际上已成为业界公认的Web应用标准。但随着时间的推移,Web应用框架经常变化的需求,产生了几个下一代 Struts的解决方案。其中两个可选方案是Shale 和 Struts Ti。 Shale 是一个基于构建的框架,并在最近成为 Apache 中的重要项目。而 Struts Ti 则是继续坚持 MVC模式的基础上改进,继续Struts的成功经验。
WebWork项目是在2002年3月发布的,它对Struts式框架进行了革命性改进,引进了不少新的思想,概念和功能,但和原Struts代码并不兼容。WebWork是一个成熟的框架,经过了好几次重大的改进与发布。在2005年12月,WebWork与Struts Ti决定合拼, 再此同时, Struts Ti 改名为 Struts Action Framework 2.0,成为Struts真正的下一代。
市面上已经有数不清的Web2.0开发工具,那些找到合适工具的人是幸运的,因为有太多的人总是在寻找更合适的。在所有这些工具中,分为两个大类:框架、库。
什么是“框架”?
简单来说,框架提供的是全套服务;他们都有内建的底层架构来维护整个运行时环境,同时提供丰富多样的组件库,有用于事件控制的,也有用于显示的组件(也就是现在的流行词Widget)。比较流行的框架包括GWT, Dojo, YUI, extJS;
什么是“库”?
“库”更专注;每个库都只着眼于很好地解决某个方面的问题。比如,JQuery: 长处是便于DOM树的操作;DWR:简化了浏览器与服务器之间的数据传递;Prototype力图提高对数据的控制能力,比如“文本自动完成”;
对于上面讲到的这几个工具,你应该用哪一个? 看完我的评价后,请自己做决定。
【框架】:GWT、Dojo、YUI、extJS........................