鐵手劍譜

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

          第2.4式. 使用多個Struts配置

          問題

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

          動作要領(lǐng)

          將一個struts-config.xml分解為多個配置文件。每一個都必須是良構(gòu)的,并且能過通過struts-config XML DTD的校驗。將這些文件作為ActionServlet在web.xml中的初始化參數(shù)config的參數(shù)值引用,如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 將多個文件在內(nèi)存中合并成一個單一的文件。

          動作變化

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

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

          因為只是使用多配置文件并不意味著必須要使用Struts modules。事實上,你對一個模塊也可以使用多配置文件。在上面的方案中,config元素的param-name子元素的值對ActionServlet規(guī)定了默認模塊的Struts 配置文件的路徑。附加模塊是通過config/module-name的param-name值規(guī)定的。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>

           

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

          相關(guān)招式

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

          第1.8式如何自動產(chǎn)生struts 配置文件。

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

          評論

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

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

          # 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,注意前綴的產(chǎn)生規(guī)則
          2.使用Struts1.2
          3.參見下一動作2.5式
            回復  更多評論    

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

          本系列源改編自O(shè)'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"試試
            回復  更多評論    
          主站蜘蛛池模板: 全州县| 民和| 西充县| 响水县| 宁乡县| 洞口县| 普兰店市| 东至县| 信阳市| 甘肃省| 郎溪县| 江油市| 施秉县| 化隆| 崇文区| 滦南县| 阳原县| 武功县| 潞西市| 水富县| 聊城市| 宁都县| 石城县| 喀喇| 九龙坡区| 连平县| 鄱阳县| 洛浦县| 那曲县| 嘉定区| 庄浪县| 黑河市| 武乡县| 南召县| 东城区| 丰镇市| 罗山县| 枣庄市| 连平县| 平昌县| 咸阳市|