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
倉促弄完
不管了,休假去咯!