鐵手劍譜

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

          第2.4式. 使用多個(gè)Struts配置

          問題

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

          動(dòng)作要領(lǐng)

          將一個(gè)struts-config.xml分解為多個(gè)配置文件。每一個(gè)都必須是良構(gòu)的,并且能過通過struts-config XML DTD的校驗(yàn)。將這些文件作為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>

          當(dāng)ActionServlet被載入時(shí), Struts 將多個(gè)文件在內(nèi)存中合并成一個(gè)單一的文件。

          動(dòng)作變化

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

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

          因?yàn)橹皇鞘褂枚嗯渲梦募⒉灰馕吨仨氁褂肧truts modules。事實(shí)上,你對(duì)一個(gè)模塊也可以使用多配置文件。在上面的方案中,config元素的param-name子元素的值對(duì)ActionServlet規(guī)定了默認(rèn)模塊的Struts 配置文件的路徑。附加模塊是通過config/module-name的param-name值規(guī)定的。Example 2-10 展示了一個(gè)Struts ActionServlet聲明,其中具有一個(gè)默認(rèn)模塊和兩個(gè)附加模塊。默認(rèn)模塊是用兩個(gè)配置文件,module1只使用一個(gè)配置文件,而module2使用3個(gè)配置文件。

          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>

           

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

          相關(guān)招式

          第2.5式會(huì)詳細(xì)講解使用Struts module的細(xì)微之處。

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

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

          評(píng)論

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

          難得的好文!正在學(xué)習(xí)struts,受益匪淺
          期待續(xù)篇

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

          對(duì)于多模塊的JSP提交,怎么處理.action="/module1/login"顯示出錯(cuò)?能講將嗎?

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

          1,注意前綴的產(chǎn)生規(guī)則
          2.使用Struts1.2
          3.參見下一動(dòng)作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

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

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

          .action="/module1/login.do"試試
          主站蜘蛛池模板: 肇东市| 苏尼特左旗| 霍州市| 永丰县| 新平| 天水市| 耒阳市| 宝山区| 郧西县| 保康县| 沙田区| 双鸭山市| 汶川县| 普格县| 迭部县| 芦溪县| 金坛市| 阳谷县| 马龙县| 五峰| 灌云县| 浮山县| 盈江县| 嘉鱼县| 绥芬河市| 怀安县| 康马县| 宁乡县| 辉南县| 米易县| 科技| 施甸县| 宁河县| 清远市| 无锡市| 邵东县| 康定县| 旺苍县| 申扎县| 建平县| 虞城县|