第一章Struts2简述

        昨天schuen询问struts2与struts1的区别并建议学习下dojo,其实struts2的标签内置了Ajax的支持。Struts 2 的标签使用了Dojotoolkit Ajax框架,不但能够使用Ajax特性,还提供了一些现成的浏览器控件,功能非常强大!

       如果读者熟悉Struts1.X,会发现Struts2比Struts1.X有了巨大的变化,下面就几天的学习简单描述下,其中大部分内容从网络整理的

      1、首先我们来说下Action类:

          Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口编程!

          Struts 2 Action类不需要实现任何接口和类,但也可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。

      2、Servlet 依赖:Struts 2 中不需要处理和HTTP相关的操作,自需要使用框架的接口即可。
       在Strut 2 中不再会涉及到诸如 HttpServletRequest, HttpServletResponse, HttpSession等Http相关的Servlet接口类,取而代之的是Struts 2 的接口,例如RequestAware,SessionAware等。这样他的action类就是纯粹的pojo 可以不依赖于容器,这样就为我们单元测试带来非常大的帮助,现在单元测试very easy!

      3、捕获输入:Struts1 使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其他JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。动态Bean(DynaBeans)可以作为创建传统ActionForm的选择,但是,开发者可能是在重新描述(创建)已经存在的JavaBean(仍然会导致有冗余的javabean)。

    Struts 2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。输入属性可能是有自己(子)属性的rich对象类型。Action属性能够通过OGNL表达式访问web上的属性(这一点和tapestry有类似之处)。Struts2也支持ActionForm模式。rich对象类型,包括业务对象,能够用作输入/输出对象。这种ModelDriven 特性简化了taglib对POJO输入对象的引用。

     4、Struts 2 的标签利用了CSS和模板,使用起来会非常方便,在Struts 1.x中我们需要使用Table来组织表单,但是在Struts 2中所有的标签自带了Table内容,可以方便的处理格式。例如<s:textfield> 标签自动添加了 <tr> <td> 等标签。此外除了支持JSP的表现形式,还支持JasperResports报表, JFreechart图标,Action链,文件下载等

     5、灵活的取消按钮,在取消按钮点击的时候可以指向一个不同的action。
       可以在制定Form的action的同时,制定cancel按钮的action,当点击submit和cancel的时候出现完全按不同的功能

   6、struts2的拦截器是非常让人兴奋的他可以对Action进行执行的控制,在执行action前和执行后进行一些处理.

以上是对struts1和struts2进行简单的总结,二者之间的区别确实蛮大的,struts2是基与webwork的,简单的总结只是让大家知道个大概,做好一切准备,开始我们的struts2之旅

欢迎光临本站!请 订阅本站Feed 获得最新信息
转载请注明文章转载自:钱本草 [http://www.qbencao.com]
本文链接地址:第一章Struts2简述

Tags: ,  | 日期:  2008-05-22|  分类:  Java, 编程开发| 阅读次数: 31 

“第一章Struts2简述”已经有2 个评论

  1.  

    好深奥啊 看不太懂 不过最近在学 html 呵呵 从最基础的开始学呢

  2.  

    谢谢你的文章, 看上去差别真的很大

我来说两句

Powered by WordPress | Blue Weed by Blog Oh! Blog | Entries (RSS) and Comments (RSS)