鐵手劍譜

          上善若水
          數據加載中……
          Struts秘籍之第1段:第2.4式:多配置文件

          第2.4式. 使用多個Struts配置

          問題

          你想要將一個大型的struts-config.xml文件分為多個小文件,以便改善組織和更易維護,特別是在團隊開發的過程中。

          動作要領

          將一個struts-config.xml分解為多個配置文件。每一個都必須是良構的,并且能過通過struts-config XML DTD的校驗。將這些文件作為ActionServlet在web.xml中的初始化參數config的參數值引用,如Example 2-9。

          Example 2-9. 多配置文件 (單模塊)

           

          <servlet>
            
          <servlet-name>action</servlet-name>
            
          <servlet-class>
              org.apache.struts.action.ActionServlet
            
          </servlet-class>
            
          <init-param>
              
          <param-name>config</param-name>
              
          <param-value>
                /WEB-INF/struts-config.xml,
                /WEB-INF/struts-config-2.xml
              
          </param-value>
            
          </init-param>
            
          <load-on-startup>1</load-on-startup>
          </servlet>

          當ActionServlet被載入時, Struts 將多個文件在內存中合并成一個單一的文件。

          動作變化

          對那些不是最細微的應用而言,struts-config.xml文件會趨于變得大而笨重。許多應用可能具有數以百計的action。將這個文件結合CVS使用,那么團隊中的開發人員就會訪問相同的文件。

          Struts 1.1 引入了對多配置文件的支持。每一個配置文件都必須是一個有效的XML 文件并且必須符合struts-config XML DTD。在可以在web.xml中將這些文件聲明為ActionServlet的初始化參數config的值。你可以將這些文件指定為逗號分隔的路徑列表。運行時,這些文件會在內存中合并成一個文件。如果出現重復元素,比如具有相同的name屬性的兩個不同的form bean 聲明,則最后一個讀入的配置優先。

          因為只是使用多配置文件并不意味著必須要使用Struts modules。事實上,你對一個模塊也可以使用多配置文件。在上面的方案中,config元素的param-name子元素的值對ActionServlet規定了默認模塊的Struts 配置文件的路徑。附加模塊是通過config/module-name的param-name值規定的。Example 2-10 展示了一個Struts ActionServlet聲明,其中具有一個默認模塊和兩個附加模塊。默認模塊是用兩個配置文件,module1只使用一個配置文件,而module2使用3個配置文件。

          Example 2-10. 多配置文件(多模塊)

           

          <servlet>
            
          <servlet-name>action</servlet-name>
            
          <servlet-class>
              org.apache.struts.action.ActionServlet
            
          </servlet-class>
            
          <init-param>
              
          <param-name>config</param-name>
              
          <param-value>
                /WEB-INF/struts-default-config.xml,
                /WEB-INF/struts-default-config-2.xml
              
          </param-value>
            
          </init-param>
            
          <init-param>
              
          <param-name>config/module1</param-name>
              
          <param-value>
                /WEB-INF/struts-module1-config.xml
              
          </param-value>
            
          </init-param>
            
          <init-param>
              
          <param-name>config/module2</param-name>
              
          <param-value>
                /WEB-INF/struts-module2-config.xml,
                /WEB-INF/struts-module2-config-2.xml,
                /WEB-INF/struts-module2-config-3.xml
              
          </param-value>
            
          </init-param>
            
          <load-on-startup>1</load-on-startup>
          </servlet>

           

          如果你是團隊開發,可以考慮基于功能區域、用例、或者使用場景分解配置文件。每一個團對稱員都可以集中于他們的職責領域而不用關心其他部分。

          相關招式

          第2.5式會詳細講解使用Struts module的細微之處。

          第1.8式如何自動產生struts 配置文件。

          posted on 2005-05-13 10:53 鐵手 閱讀(3627) 評論(6)  編輯  收藏 所屬分類: JavaStruts系列

          評論

          # re: Struts秘籍之第1段:第2.4式:多配置文件 2005-05-17 11:36 hufan

          難得的好文!正在學習struts,受益匪淺
          期待續篇
            回復  更多評論    

          # re: Struts秘籍之第1段:第2.4式:多配置文件 2005-05-19 10:47 ddx

          對于多模塊的JSP提交,怎么處理.action="/module1/login"顯示出錯?能講將嗎?
            回復  更多評論    

          # re: Struts秘籍之第1段:第2.4式:多配置文件 2005-05-19 13:51 鐵手

          1,注意前綴的產生規則
          2.使用Struts1.2
          3.參見下一動作2.5式
            回復  更多評論    

          # Struts 秘籍(CookBook)[TrackBack] 2005-11-12 18:29 阿泠

          本系列源改編自O'Reily的Strus Cookbook
          [引用提示]阿泠引用了該文章, 地址: http://blog.donews.com/inclear/archive/2005/11/12/624363.aspx
            回復  更多評論    

          # re: Struts秘籍之第1段:第2.4式:多配置文件 2005-12-09 11:24 bigzhu

          有個疑問
          多個配置文件中如果有名字沖突的情況,Struts如何處理呢?

            回復  更多評論    

          # re: Struts秘籍之第1段:第2.4式:多配置文件[未登錄] 2008-09-25 11:03 東東

          .action="/module1/login.do"試試
            回復  更多評論    
          主站蜘蛛池模板: 左云县| 溧阳市| 石景山区| 大姚县| 怀安县| 太仓市| 苏州市| 曲麻莱县| 禄丰县| 遂平县| 长海县| 黑龙江省| 宁城县| 水城县| 杭锦旗| 乐山市| 保定市| 阿坝县| 屏东县| 大足县| 宜君县| 绍兴县| 临邑县| 广水市| 东乡族自治县| 名山县| 三原县| 祥云县| 天台县| 灌云县| 耒阳市| 商河县| 荥阳市| 遂平县| 莱阳市| 通榆县| 罗城| 洛南县| 浦城县| 东丰县| 永登县|