我首先升级了spring2.0,因为spring2.0是向下兼容的,所以也只是将spring<st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on">1.2.8</st1:chsdate>的包换成了spring2.0.3的包。虽然spring2.0是向下兼容,但他需要的其他包也跟着需要变换。例如如果你程序包括acegi的话,就需要将以前的echache1.1或者1.2换成spring2.0.3中带着的echache1.2.4。不然就会在启动tomcat的时候报错,说找不到echache这个类。
<o:p> </o:p>
Struts2.0跟struts1.x完全不同,首先需要把struts1.x的东西都删除掉。
lib包中的struts1.x,以及他那几个commons包都可以删除,不过要看你其他的程序是否调用了这些commons包。
formbean可以删除了,因为你后台有个pojo类。
validation框架可以除去了
资源包也可以删除了
Action和页面先留着,主要是看你的业务逻辑。如果业务逻辑简单也可以删除了。
<o:p> </o:p>
接着添加struts2.0需要的包
freemarker-<st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on">2.3.8</st1:chsdate>.jar,ognl-2.6.11.jar,struts2-core-2.0.6.jar,xwork-2.0.1.jar,struts2-spring-plugin-2.0.6.jar 。需要注意的是struts2-core-2.0.6.jar和struts2-all-2.0.6.jar不能同时添加到lib包中。
<o:p> </o:p>
因为struts2.0对于1.x来说是全新的技术,我不可能都面面具到的提及,只能说说自己的体会。
<o:p> </o:p>
需要对struts2.0有个更全面的了解,可以参考Max On Java的博客。
另外webwork2.2的官方文档也是很好的学习资料。
<o:p> </o:p>
接着谈谈我的体会:
Strust2.0的action是个javabean(不知道这样定义准不准确)。可以有自己的方法,你可以继承ActionSupport,也可以不继承。可以简单的理解为将struts1.x的action和formbean结合成一个类了。
页面的参数可以不用request传递了,你只需要在action定义了这个属性,然后set一下就可以传递到页面上去了。
因为页面属性都可以定义在action中,在编写代码过程中,对于struts1.x的程序员来说比较不适应,感觉action显得乱糟糟的。不过适应了就会觉得他的优点急好处的。我感觉分页更加简单了。
以前一直都需要在action中将form中的内容放到pojo中去,因此有些业务也需要在action中完成。导致真正的业务层做的事情跟dao层差不多。现在struts2.0就可以更可能的把业务都放在业务层,这样也便于业务的管理。
Struts2.0支持的技术很多,现在我用到的还是他的CRUD的一部分内容。他还支持ajax树形,支持jassper,支持jfreechar,还支持struts1.x。这些都需要在以后的工作学习中去掌握
<o:p> </o:p>
先说到这里吧。
这里有示例代码