隨筆 - 22  文章 - 3  trackbacks - 0
          <2009年1月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

                  弄清楚struts-config.xml中各項(xiàng)元素的作用,對于我們構(gòu)建web項(xiàng)目有莫大的好處。<struts-config是struts的根元素,它主要有8個(gè)子元素,DTD定義如下:
          <!ELEMENT struts-config
          (data-sources?,form-beans?,global-exceptions?,global-forwards?,action-mappings?,controller?,message-resources*,plug-in*)
          >
          以上8個(gè)元素,下面一一描述:


          1. date-sources元素


            date-sources元素用來配置應(yīng)用程序所需要的數(shù)據(jù)源。java語言提供了javax.sql.DateSource接口,所有數(shù)據(jù)源必須實(shí)現(xiàn)該接口。如下配置:

              <data-sources>
                <data-source type="org.apached.commons.dbcp.BasicDataSource">
                  ………………
                </data-source>
              </data-sources>
              在Action中訪問方式如:
              javax.sql.DataSource dataSource;
              java.sql.Connection myConnection;
              try
              {
                dataSource = getDataSource(request);
                myConnection = dataSource.getConnection();
              }
              …………

                如果是多數(shù)據(jù)源,可用如下配置:

              <data-sources>
                <data-source key="a"  type="org.apached.commons.dbcp.BasicDataSource">
                  ………………
                </data-source>
                <data-source key="b"   type="org.apached.commons.dbcp.BasicDataSource">
                  ………………
                </data-source>
              </data-sources>

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

           

           2. form-beans元素


            該元素主要用來配置表單驗(yàn)證的類。它包含如下屬性:
            1. classname:一般用得少,指定和form-bean無素對應(yīng)的配置類,默認(rèn)為org.apache.struts.config.FormBeanConfig,如果自定義,則必須擴(kuò)展FormBeanConfig類??捎锌蔁o。
            2. name:ActionForm Bean的惟一標(biāo)識(shí)。必須。
            3. type:ActionForm的完整類名。必須。
          如下所示:
              <form-beans>
                <form-bean
                    name="Loign"
                    type="com.ha.login">
                </form-bean>
              </form-beans>

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

          <form-beans>
            <form-bean
                name="Loign"
                type="com.ha.login">
               <form-property name="ok"  type="java.lang.String"/>
               <form-property name="oks"  type="java.lang.String"/>
               <form-property name="okss"  type="java.lang.Integer" initial="20"/>
            </form-bean>
          </form-beans>

           3. global-exceptions元素


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

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

           4. global-forwards元素


            該元素主要用來聲明全局的轉(zhuǎn)發(fā)關(guān)系,它具有以下四個(gè)屬性:
            1. className:和forward元素對應(yīng)的配置類,默認(rèn)為:org.apache.struts.action.ActionForward??捎锌蔁o。
            2. contextRelative:此項(xiàng)為true時(shí),表時(shí)path屬性以"/"開頭,相對于當(dāng)前上下文的URL,默認(rèn)為false.可有可無?!?br />   3. name:轉(zhuǎn)發(fā)路徑的邏輯名.必填。
            4. path:轉(zhuǎn)發(fā)或重定向的URL,當(dāng)contextRelative=false時(shí),URL路徑相對于當(dāng)前應(yīng)用(application),當(dāng)為ture時(shí),表示URL路徑相對于當(dāng)前上下文(context)。
            5.  redirect:當(dāng)此項(xiàng)為ture時(shí),表示執(zhí)行重定向操作。當(dāng)此項(xiàng)為false時(shí)表示轉(zhuǎn)向操作。默認(rèn)為false。
          如下所示:
          <global-forwards>
            <forward  name="forms1"  path="/a.do"/>
            <forward  name="forms2"  path="/nb.jsp"/>
          <global-forwards>

           5. action-mappings元素


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

           

           6. controller元素


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

           

           7. message-resources元素


            主要配置本地化消息文本,它具有以下屬性。
            1. className:和message-resources元素對應(yīng)的配置類,默認(rèn)為org.apache.struts.config.MessageResourcesConfig。
            2. factory:指定消息資源的工廠類,默認(rèn)為:org.apache.struts.util.PropertyMessageResourcesFactory類
            3. key:指定Resource Bundle存放的ServletContext對象中時(shí)采用的屬性Key,默認(rèn)由Globals.MESSAGES_KEY定義的字符串常量,只允許一個(gè)Resource Bundle采用默認(rèn)的屬性Key。
            4. null:指定MessageSources類如何處理未知消息的key,如果為true,則返回空字符串,如果為false,則返回相關(guān)字串,默認(rèn)為false
            5. prameter:指定MessageSources的資源文件名,如果為:a.b.ApplicationResources,則實(shí)際對應(yīng)的文件路徑為:WEB-INF/classes/a/b/ApplicationResources.properties.
          如:
          <message-resources null="false" parameter="defaultResource"/>
          <message-resources key="num1" null="false" parameter="test"/>
          訪問為:
          <bean:message  key="zxj"/>
          <bean:message  key="zxj"  bundle="num1"/>
          其中,zxj表法,messagesource資源文件中的一個(gè)字符串。

           

           8. plugin-in元素


            配置Struts的插件,屬性如下:
            1. className:指定的Struts插件類,必須實(shí)現(xiàn)org.apache.struts.action.PlugiIn接口。如:
          <plug-in
            className="a.b.c.">
            <set-property property="xxx" value="/WEB-INF/aa.xml"  />
          </plug-in>

           后記,多模塊的配置,可以供多個(gè)應(yīng)用應(yīng)用不同的struts-config.xml


          轉(zhuǎn)自CSDN,后發(fā)現(xiàn)有貼誤,自參考幾貼修整過來

          posted on 2008-12-31 15:33 圣克爾·光 閱讀(387) 評論(1)  編輯  收藏 所屬分類: SSH

          FeedBack:
          # re: struts中的struts-config.xml (經(jīng)修整)[未登錄] 2009-01-11 14:59 kkk
          謝謝~不錯(cuò)不錯(cuò)...  回復(fù)  更多評論
            
          主站蜘蛛池模板: 漳州市| 唐山市| 荥阳市| 泾阳县| 景德镇市| 宜兰县| 宁城县| 永仁县| 荥阳市| 衡南县| 玛纳斯县| 绍兴市| 万载县| 新丰县| 鄂州市| 池州市| 永和县| 迁西县| 当雄县| 达孜县| 赤壁市| 武乡县| 怀安县| 得荣县| 东平县| 邢台市| 凤山县| 三河市| 两当县| 平潭县| 合江县| 邢台市| 宜丰县| 拉萨市| 吉安县| 衡东县| 博爱县| 通城县| 新泰市| 福清市| 绍兴县|