posts - 188,comments - 176,trackbacks - 0

          弄清楚struts-config.xml中各項元素的作用,對于我們構建web項目有莫大的好處。是struts的根元素,它主要有8個子元素,DTD定義如下:

          (data-sources?,form-beans?,global-exceptions?,global-forwards?,action-mappings?,controller?,message-resources*,plug-in*)
          >
          以上8個元素,下面一一描述:


          1. date-sources元素


            date-sources元素用來配置應用程序所需要的數據源。java語言提供了javax.sql.DateSource接口,所有數據源必須實現該接口。如下配置:

            
              ………………
            


          在Action中訪問方式如:
          javax.sql.DataSource dataSource;
          java.sql.Connection myConnection;
          try
          {
            dataSource = getDataSource(request);
            myConnection = dataSource.getConnection();
          }
          …………
            如果是多數據源,可用如下配置:

            
              ………………
            

            
              ………………
            


          訪問方式:dataSource = getDataSource(request,"a");

           

           2. form-beans元素


            該元素主要用來配置表單驗證的類。它包含如下屬性:
            1. classname:一般用得少,指定和form-bean無素對應的配置類,默認為org.apache.struts.config.FormBeanConfig,如果自定義,則必須擴展FormBeanConfig類??捎锌蔁o。
            2. name:ActionForm Bean的惟一標識。必須。
            3. type:ActionForm的完整類名。必須。
          如下所示:

                   name="Loign"
                type="com.ha.login">
            


            如果是動態Action FormBean,還必須配置form-bean元素的form-property子元素。它包含四個屬性,上面三個,還有一個initial 元素:以字符串的形式設置表單字段的初始值,如果沒有設置該屬性,則是基本類型為0,如果是對象則為null??捎锌蔁o。如下所示:

                   name="Loign"
                type="com.ha.login">
               
               
               
            

           

           3. global-exceptions元素


            該元素主要配置異常處理,它的exception子元素代表全局的異常配置。struts采取配置的方式來處理異常。它用來設置java異常和異常處理類org.apache.struts.action.ExceptionHandler之間的映射。它有七個屬性,如下所示:
            1. className:指定和exception元素對應的配置類,默認為:org.apache.struts.config.ExceptionConfig??捎锌蔁o。
            2. Handler:指定異常得理類,默認為:org.apache.struts.action.ExceptionHandler??捎锌蔁o
            3. key:指定在Resource Bundle中描述該異常的消息key
            4. path:指定當異常發生時的轉發路徑。
            5. scope:指定ActionMessages實例的存放范圍,可選值包括:request和session,默認為request??捎锌蔁o。
            6. type:指定所需處理異常類的名字,必須。
            7. bundle:指定Resource Bundle
          如下所示:

                  key="global.error.invalidlogin"
                path="/error.jsp"
                scope="request"
                type="com.hn.tree"
            />

           

           4. global-forwards元素


            該元素主要用來聲明全局的轉發關系,它具有以下四個屬性:
            1. className:和forward元素對應的配置類,默認為:org.apache.struts.action.ActionForward??捎锌蔁o。
            2. contextRelative:此項為true時,表時path屬性以"/"開頭,相對于當前上下文的URL,默認為false.可有可無?!?br>  3. name:轉發路徑的邏輯名.必填。
            4. path:轉發或重定向的URL,當contextRelative=false時,URL路徑相對于當前應用(application),當為ture時,表示URL路徑相對于當前上下文(context)。
            5.  redirect:當此項為ture時,表示執行重定向操作。當此項為false時表示轉向操作。默認為false。
          如下所示:

            
            

           

           5. action-mappings元素


            描述從特定的請求路徑到相應的Action類的映射。它具有以下幾個屬性:
            1. attribute:設置和Action關聯的ActionForm Bean在request和session范圍內的key。如:Form Bean存在于request范圍內,此項設為“myBenas”,則在request.getAttribute("myBenas")就可以返回該Bean的實例。
            2. classsName:和action元素對應的配置元素,默認為:org.apache.struts.action.ActionMapping.
            3. forward:轉發的URL路徑。
            4. include:指定包含的URL路徑。
            5. input:輸入表單的URL路徑,當表單驗證失敗時,將把請求轉發到該URL。
            6. name:指定和Action關聯的Action FormBean的名字,該名字必須在Form-Bean定義過。
            7. path:指定訪問Action的路徑,以“/”開頭,無擴展名。
            8. parameter:指定Actgion的配置參數,在Action類的execute()方法中,可以調用ActionMapping對象的getParameter()方法來讀取該配置參數。
            9. roles:指定允許調用該Action的安全角色,多個角色之間用,隔開,在處理請求時,RequestProcessor會根據該配置項來決定用戶是否有權限調用Action權限。
            10. scope:指定ActionForm Bean的存在范圍,可選取為request和session,默認為session。
            11. type:指定Action類的完整類名。
            12. unknown:如果此項為true,表示可以處理用戶發出的所有無效的Action URL,默認為false;
            13. validate:指定是否要調用Action FormBean的validate方法,默認值為ture.
          注:forward、include、type屬性只能選中其中一項。
          如下:
              type="zxj.okBean"
              name="a1"
              scope="request"
              validate="true"
              input="/b.jsp">
            

          注:此中的forward是指局部的轉發路徑。global-forwards表示全局的轉發路徑。

           

           6. controller元素


            該元素用于配置ActionServlet。它具有以下屬性。
            1. bufferSize:指定上載文件的輸入緩沖大小,可選,默認為4096
            2. className:指定和controller元素對應的配置類,默認為org.apache.struts.config.ControllerConfig
            3. conentType:字符編碼,如果在Action和JSP網頁中設置了,則覆蓋該設置。
            4. locale:指定是否把Locale對象保存到當前用戶的session中,默認值為false.
            5. processorClass:指定負責請求的java類完整路徑。
            6. tempDir:指定處理文件的臨時工作目錄,如果此項沒有設置,將采用Servlet容器為web應用分配的臨時工作目錄。
            7. nochache:如果為true:在響應結果中將加入特定的頭參數:Pragma,Cache-Control和Expise,防止頁面被保存在客戶端的瀏覽器中,默認為false
          如下:
            contentType="text/html;charset="UTF-8""
            locale="true"
            processorClass="con.ok"/>

           

           7. message-resources元素


            主要配置本地化消息文本,它具有以下屬性。
            1. className:和message-resources元素對應的配置類,默認為org.apache.struts.config.MessageResourcesConfig。
            2. factory:指定消息資源的工廠類,默認為:org.apache.struts.util.PropertyMessageResourcesFactory類
            3. key:指定Resource Bundle存放的ServletContext對象中時采用的屬性Key,默認由Globals.MESSAGES_KEY定義的字符串常量,只允許一個Resource Bundle采用默認的屬性Key。
            4. null:指定MessageSources類如何處理未知消息的key,如果為true,則返回空字符串,如果為false,則返回相關字串,默認為false
            5. prameter:指定MessageSources的資源文件名,如果為:a.b.ApplicationResources,則實際對應的文件路徑為:WEB-INF/classes/a/b/ApplicationResources.properties.
          如:


          訪問為:


          其中,zxj表法,messagesource資源文件中的一個字符串。

           

           8. plugin-in元素


            配置Struts的插件,屬性如下:
            1. className:指定的Struts插件類,必須實現org.apache.struts.action.PlugiIn接口。如:
            className="a.b.c.">
            

           后記,多模塊的配置,可以供多個應用應用不同的struts-config.xml

          轉CSDN

          posted on 2007-05-24 11:30 cheng 閱讀(825) 評論(1)  編輯  收藏 所屬分類: Struts

          FeedBack:
          # re: struts中的struts-config.xml[未登錄]
          2008-10-02 15:59 | 過客
          漂亮  回復  更多評論
            
          主站蜘蛛池模板: 湄潭县| 南乐县| 信宜市| 红原县| 旅游| 昌乐县| 平昌县| 漾濞| 离岛区| 景洪市| 班玛县| 孝昌县| 荣成市| 扬中市| 辽阳县| 清涧县| 商城县| 延庆县| 金川县| 朔州市| 永州市| 朝阳市| 大连市| 常德市| 齐齐哈尔市| 铅山县| 囊谦县| 山东省| 高碑店市| 平阳县| 成都市| 余庆县| 清水县| 山西省| 镇赉县| 彰化县| 丰宁| 凯里市| 日照市| 永和县| 云龙县|