鐵手劍譜

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

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

          問(wèn)題

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

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

          將一個(gè)struts-config.xml分解為多個(gè)配置文件。每一個(gè)都必須是良構(gòu)的,并且能過(guò)通過(guò)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ì)中的開(kāi)發(fā)人員就會(huì)訪問(wèn)相同的文件。

          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 配置文件的路徑。附加模塊是通過(guò)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ì)開(kāi)發(fā),可以考慮基于功能區(qū)域、用例、或者使用場(chǎng)景分解配置文件。每一個(gè)團(tuán)對(duì)稱(chēng)員都可以集中于他們的職責(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 鐵手 閱讀(3627) 評(píng)論(6)  編輯  收藏 所屬分類(lèi): 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.參見(jiàn)下一動(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è)疑問(wèn)
          多個(gè)配置文件中如果有名字沖突的情況,Struts如何處理呢?

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

          .action="/module1/login.do"試試
          主站蜘蛛池模板: 呼和浩特市| 易门县| 石林| 辽宁省| 信阳市| 重庆市| 离岛区| 巴彦淖尔市| 游戏| 应用必备| 成安县| 南华县| 浠水县| 凌源市| 恭城| 双峰县| 辽源市| 信宜市| 兴山县| 马边| 济阳县| 吴堡县| 北宁市| 古蔺县| 西乌| 承德市| 岳阳县| 巫溪县| 贵德县| 精河县| 巨鹿县| 北辰区| 余江县| 东乡县| 昭觉县| 宝丰县| 萍乡市| 左权县| 呈贡县| 治县。| 含山县|