熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Struts 2的開發規范與技巧[1]

2022-06-13   來源: Java開源技術 

  Struts的前景還是穩健的使用的人數在不斷的增加參加struts 依然堅挺 Seam前景不明

  但基於Struts的開發如果沒有足夠的經驗和規范做支撐並不能帶來還多的好處如果失控一樣和JSP+servlet泛濫這一點需要警示

  Action類及Action Name的命名規范

  Action類的後綴統一加上ActionAction的Name與類的名稱保持一致但不要Action的後綴

  這樣是為了通過Action的調用url 很方便的找到Action類

       < action  name =searchKnowledge
      class =comdemosearchactionSearchKnowledgeAction >
       < result  name =search > /demo/searchjsp </ 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 =comgehcutilpaginationPaginateAction >
      < result  name =queryKnowledges >
      /demo/knowledgeListjsp
      </ result >
      <!  查詢所有的問題  >
      < result  name =queryIssue >
      /pm/issue/allIssuejsp
      </ result >
                          <!  你可以不斷的擴展跳轉的jsp但是Action不會增加Action類的代碼也不會增加 >
      </ action >

[]  []  


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28979.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.