STRUTS 2已经出来一阵子了
可是相关的学习资料 (哪怕仅仅是英文资料)也是少得可怜
所以我给出个项目示例,希望大家多多交流和指点

开发环境:eclipse3.1+jdk5.0+tomcat5.5+struts2
主要技术框架:struts2+sping+ibatis(以后再考虑hibernate的版本吧)

键入http://localhost:8080/struts/pages/example/example-index.jsp
访问首页
在首页一共给出6个链接:
1 第一个链接给出的是一个查询功能
输入exampleId获得整个example对象的所有属性(其实一共也就2个)
示例中使用了客户端验证
如果要在STRUTS2中使用验证功能 那么,
记得在<s:form>标签中使用 validate="true"属性 同时配置相应的validation.xml

2 同样的功能 只是换成用VELOCITY模板的形式输出

3 查询出所有的example对象

4 用AJAX技术实现查询功能 
相信这是STRUTS2里面比较棒的功能了
它在标签中直接集成了AJAX技术,
如果开发人员不懂AJAX也没关系,
需要做的仅仅是在<s:submit>标签中加入theme="ajax"  并且在<head></head>中加入<s:head theme="ajax"/>

5 自动填充!

大家都喜欢GOOGLE的搜索吧
现在也可以自己动手实现它了!
比如有数据集[aaaaaa],[bbbbbb],[aaacc]
那么在键入aaa以后 这个组合框会自动列出[aaaaa]和[aaacc]
同样也是一个标签搞定!
这个标签就是<s:autocompleter>

6 可以切换的面板

这个在做WEB开发的时候经常用到
自己写个很烦
不过STRUTS提供了简便的实现方法
用<s:tabbedPanel>这个标签就可以咯 

一些要注意的地方:
1 项目的JDBC配置文件
位置在\struts\WebRoot\WEB-INF\classes\conf\jdbc
目前用的是DB2驱动,如果使用别的数据库 那么需要配置一下jdbc.properties
其他的配置文件也统统放在\struts\WebRoot\WEB-INF\classes\conf\下面

2  STRUTS2支持模块化开发 所以example单独做为一个模块分出来
如果不需要它 那么把所有带有example的文件统统删除即可

3 用了SITEMESH作页面布局 如果觉得不爽 用TILE其实也可以....


一些心得:
1 STRUTS 希望所有的跳转用ACTION控制,其实一开始就有人用JAVASCRIPT企图绕过这种限制,
到后来的AJAX狂潮把这种思想冲地体无完肤
所以STRUTS2里干脆集成了AJAX ,可以看到大多数UI标签都可以使用AJAX
需要做的仅仅是在标签中加入theme="ajax"  并且在<head></head>中加入<s:head theme="ajax"/>
而不需要从头学习AJAX,DWR,DOJO...

2 STRUTS的标签功能很弱,但是如果不去使用它
那么基本上和很多的框架特性说88了
换句话说
STRUTS没有强制你使用它的东西
但是如果你不去使用它 那么损失非常大
而STRUTS2正好相反
同样没有强制你使用它的东西
如果你去使用它 那么将有很大的惊喜!

3 STRUTS2 的ACTION无须继承任何类型或实现任何接口
这算是一个很大的变化
理论上说 这比以前更棒 容易测试 也不用再convert actionForm
但是中国的国情是:
总是希望每个页面包含象新浪首页那样多的信息
同时希望能够有链接链到所有的页面
最后希望能有市面上有的所有功能
这样显示数据的变量 控制参数的变量....
想象下 一个ACTION类需要多少行代码

4 从学习/开发成本来说
学习STRUTS2比STRUTS更容易
而且可以边学边干
而STRUTS,如果没好好的学习 那么基本上什么都干不了,
原因就是上面的第2点
STRUTS2里的很多东西如果不会 那么可以暂时不用 也没有大的影响
等以后学会了 日子会更好过!




/Files/seeckt/struts.rar



仓促弄完
不管了,休假去咯!