最近在學習struts2,發現了很多驚喜,在設計上,確實很優秀,這兩天在研究怎么做出一個好的架構,以后好用。
              今天看了包中的showcase例子,發現了一種新的配置action方法:
                  <action name="edit-*" class="org.apache.struts2.showcase.action.EmployeeAction">
                
          <param name="empId">{1}</param>
                      
          <result>/empmanager/editEmployee.jsp</result>
                      
          <interceptor-ref name="crudStack">
                          <
          param name="validation.excludeMethods">execute</param>
                      </
          interceptor-ref>
                  
          </action>
              當時昏了一下,用過這么多MVC的框架,第一次看到action還可以用*配的,很牛啊,自己配了一個,不好使,找原因,發現這里的EmployeeAction實現了com.opensymphony.xwork2.Preparable接口,并實現了prepare()方法,再試,成功。但發現個問題,如果這個action中還有其它的控制處理,而配置文件用的不是這種*形式,比如我的例子:
          <action name="BookAction" class="com.sigon.crud.action.BookAction">
                      
          <result type="redirect">List.action</result>
                  
          </action>
          <action name="Edit*" class="com.sigon.crud.action.BookAction" method="load">
                      
          <param name="isbn">{1}</param>
                      
          <result>Edit.jsp</result>
                  
          </action>
              這里兩個action用的是一個action類文件,而且BookAction實現了上面所說的Preparable接口,這時就需要將BookAction中的isbn初始化,否則在頁面調用BookAction時出空指針異常
              而在實際項目中,一個Action處理多個控制邏輯是家常便飯,如果還想用這種形式,就要在聲明isbn時賦初值,本例中是
          private String isbn = "2";
              很明顯,不穩妥。所以如何取舍,頗為困擾。
              如果有哪位大俠有好的方法,敬請賜教。






          Feedback

          # re: struts2中action實現Preparable接口的利弊  回復  更多評論   

          2007-12-17 16:09 by way
          關注中 樓主把學習struts2的經驗告訴下吧 最近一直研究這個
          聯系方式 wanganyuaa@163.com
          qq 86322989
          不勝感激

          # re: struts2中action實現Preparable接口的利弊  回復  更多評論   

          2011-07-01 15:56 by 路人甲
          這個接口確實不大好,好處是在重載方法prepare方法里可以做初始化

          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 朝阳区| 静海县| 尉氏县| 双江| 吕梁市| 廉江市| 兴城市| 垫江县| 渭源县| 汾阳市| 壤塘县| 兴海县| 三江| 大连市| 突泉县| 扶余县| 屏边| 庆城县| 宣汉县| 漯河市| 广德县| 临漳县| 班玛县| 汝阳县| 五河县| 西安市| 珠海市| 克什克腾旗| 翁源县| 汉沽区| 湛江市| 临潭县| 苍山县| 定西市| 台中县| 辽宁省| 福建省| 永定县| 大连市| 东港市| 将乐县|