Struts的前景還是穩健的使用的人數在不斷的增加參加struts 依然堅挺 Seam前景不明
但基於Struts的開發如果沒有足夠的經驗和規范做支撐並不能帶來還多的好處如果失控一樣和JSP+servlet泛濫這一點需要警示
)Action類及Action Name的命名規范
Action類的後綴統一加上ActionAction的Name與類的名稱保持一致但不要Action的後綴
這樣是為了通過Action的調用url 很方便的找到Action類
< action name =
searchKnowledge
class =
com
demo
search
action
SearchKnowledgeAction
>
< result name =
search
> /demo/search
jsp </ result >
</ action >
如上看到/searchKnowledgeaction就可以很清楚的知道類是SearchKnowledgeAction了很多人不注重這一點開發調試中每次都要笨拙的看strutsxml文件
)每個項目都必須至少有一個公用的Action類GenericAction完成的功能如下
獲取注入request
獲取注入Session
錯誤頁面跳轉
獲取在線用戶和會員的信息(個人信息權限角色等)
注入類型轉換的格式轉換類如日期類型轉換ConvertUtilsregister(new DateConverter() Dateclass)
獲取系統配置信息如公用變量(如配置路徑等)
對於request參數的處理等其他可擴展的操作
)擅長使用Dispatch的模式
有人說Action不就是Dispatch的延伸嗎其實還可以做的更好
這個典型的模式如下
頁面表單的Hidden參數中就是一個ID如queryID=queryKnowledges Action=/paginateaction
PaginateAction的模板如下
private String queryID;
public String execute() {
//獲得Service的接口
//根據queryID調用Ibatis分頁查詢方法
return queryID; //這一點就是動態跳轉在Action不明確注明success之類的跳轉名稱
}
在strutsxml中進行配置與queryID想對應
< action name =
paginate
class =
com
gehc
util
pagination
PaginateAction
>
< result name =
queryKnowledges
>
/demo/knowledgeList
jsp
</ result >
<!
查詢所有的問題
>
< result name =
queryIssue
>
/pm/issue/allIssue
jsp
</ result >
<!
你可以不斷的擴展跳轉的jsp
但是Action不會增加
Action類的代碼也不會增加
>
</ action >
[] []
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28979.html