最近在學(xué)習(xí)struts2,發(fā)現(xiàn)了很多驚喜,在設(shè)計(jì)上,確實(shí)很優(yōu)秀,這兩天在研究怎么做出一個(gè)好的架構(gòu),以后好用。
              今天看了包中的showcase例子,發(fā)現(xiàn)了一種新的配置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>
              當(dāng)時(shí)昏了一下,用過這么多MVC的框架,第一次看到action還可以用*配的,很牛啊,自己配了一個(gè),不好使,找原因,發(fā)現(xiàn)這里的EmployeeAction實(shí)現(xiàn)了com.opensymphony.xwork2.Preparable接口,并實(shí)現(xiàn)了prepare()方法,再試,成功。但發(fā)現(xiàn)個(gè)問題,如果這個(gè)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>
              這里兩個(gè)action用的是一個(gè)action類文件,而且BookAction實(shí)現(xiàn)了上面所說的Preparable接口,這時(shí)就需要將BookAction中的isbn初始化,否則在頁面調(diào)用BookAction時(shí)出空指針異常
              而在實(shí)際項(xiàng)目中,一個(gè)Action處理多個(gè)控制邏輯是家常便飯,如果還想用這種形式,就要在聲明isbn時(shí)賦初值,本例中是
          private String isbn = "2";
              很明顯,不穩(wěn)妥。所以如何取舍,頗為困擾。
              如果有哪位大俠有好的方法,敬請(qǐng)賜教。






          Feedback

          # re: struts2中action實(shí)現(xiàn)Preparable接口的利弊  回復(fù)  更多評(píng)論   

          2007-12-17 16:09 by way
          關(guān)注中 樓主把學(xué)習(xí)struts2的經(jīng)驗(yàn)告訴下吧 最近一直研究這個(gè)
          聯(lián)系方式 wanganyuaa@163.com
          qq 86322989
          不勝感激

          # re: struts2中action實(shí)現(xiàn)Preparable接口的利弊  回復(fù)  更多評(píng)論   

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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 巴塘县| 苗栗县| 右玉县| 临洮县| 苏尼特右旗| 唐山市| 新干县| 峨山| 廊坊市| 寿光市| 淳化县| 东光县| 抚顺县| 四子王旗| 巢湖市| 临澧县| 青州市| 大庆市| 阜新市| 临汾市| 怀安县| 西昌市| 沾化县| 阜平县| 临夏县| 大埔县| 开原市| 宜章县| 清水河县| 东宁县| 安顺市| 乐清市| 且末县| 临邑县| 库尔勒市| 新蔡县| 普格县| 石渠县| 乐都县| 甘谷县| 静海县|