隨筆 - 63  文章 - 0  trackbacks - 0
          <2009年5月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          以下是一份完整的struts-config.xml文件,配置元素的說明詳見注釋.

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config.dtd">
          <!-- struts-config.xml中的元素必須按照上述doc指令中的dtd文檔定義順序書寫,本例即遵從了dtd定義順序 -->
          <!-- struts-config是整個(gè)xml的根元素,其他元素必須被包含其內(nèi) -->
          <struts-config>
          <!--
             名稱:data-sources
             描述:data-sources元素定義了web App所需要使用的數(shù)據(jù)源
             數(shù)量:最多一個(gè)
             子元素:data-source
          -->
          <data-sources>
             <!--
              名稱:data-source
              描述:data-source元素定義了具體的數(shù)據(jù)源
              數(shù)量:任意多個(gè)
              屬性:
               @key:當(dāng)需要配置多個(gè)數(shù)據(jù)源時(shí),相當(dāng)于數(shù)據(jù)源的名稱,用來數(shù)據(jù)源彼此間進(jìn)行區(qū)別
               @type:可以使用的數(shù)據(jù)源實(shí)現(xiàn)的類,一般來自如下四個(gè)庫
                Poolman,開放源代碼軟件
                Expresso,Jcorporate
                JDBC Pool,開放源代碼軟件
                DBCP,Jakarta
             -->
             <data-source key="firstOne" type="org.apache.commons.dbcp.BasicDataSource">
              <!--
               名稱:set-property
               描述:用來設(shè)定數(shù)據(jù)源的屬性
               屬性:
                @autoCommit:是否自動(dòng)提交 可選值:true/false
                @description:數(shù)據(jù)源描述
                @driverClass:數(shù)據(jù)源使用的類
                @maxCount:最大數(shù)據(jù)源連接數(shù)
                @minCount:最小數(shù)據(jù)源連接數(shù)
                @user:數(shù)據(jù)庫用戶
                @password:數(shù)據(jù)庫密碼
                @url:數(shù)據(jù)庫url
              -->
              <set-property property="autoCommit" value="true"/>
              <set-property property="description" value="Hello!"/>
              <set-property property="driverClass" value="com.mysql.jdbc.Driver"/>
              <set-property property="maxCount" value="10"/>
              <set-property property="minCount" value="2"/>
              <set-property property="user" value="root"/>
              <set-property property="password" value=""/>
              <set-property property="url" value="jdbc:mysql://localhost:3306/helloAdmin"/>
             </data-source>
          </data-sources>

          <!--
             名稱:form-beans
             描述:用來配置多個(gè)ActionForm Bean
             數(shù)量:最多一個(gè)
             子元素:form-bean
          -->
          <form-beans>
             <!--
              名稱:form-bean
              描述:用來配置ActionForm Bean
              數(shù)量:任意多個(gè)
              子元素:form-property
              屬性:
               @className:指定與form-bean元素相對應(yīng)的配置類,一般默認(rèn)使用org.apaceh.struts.config.FormBeanConfig,如果自定義,則必須繼承 FormBeanConfig
               @name:必備屬性!為當(dāng)前form-bean制定一個(gè)全局唯一的標(biāo)識符,使得在整個(gè)Struts框架內(nèi),可以通過該標(biāo)識符來引用這個(gè)ActionForm Bean。
               @type:必備屬性!指明實(shí)現(xiàn)當(dāng)前ActionForm Bean的完整類名。
             -->
             <form-bean name="Hello" type="myPack.Hello">
              <!--
               名稱:form-property
               描述:用來設(shè)定ActionForm Bean的屬性
               數(shù)量:根據(jù)實(shí)際需求而定,例如,ActionForm Bean對應(yīng)的一個(gè)登陸Form中有兩個(gè)文本框,name和password,ActionForm Bean中也有這兩個(gè)字段,則此處編寫兩個(gè)form-property來設(shè)定屬性
               屬性:
                @className:指定與form-property相對應(yīng)的配置類,默認(rèn)是org.apache.struts.config.FormPropertyConfig,如果自定義,則必須繼承FormPropertyConfig類
                @name:所要設(shè)定的ActionForm Bean的屬性名稱
                @type:所要設(shè)定的ActionForm Bean的屬性值的類
                @initial:當(dāng)前屬性的初值
              -->
              <form-property name="name" type="java.lang.String"/>
              <form-property name="number" type="java.lang.Iteger" initial="18"/>
             </form-bean>
          </form-beans>

          <!--
             名稱:global-exceptions
             描述:處理異常
             數(shù)量:最多一個(gè)
             子元素:exception
          -->
          <global-exceptions>
             <!--
              名稱:exception
              描述:具體定義一個(gè)異常及其處理
              數(shù)量:任意多個(gè)
              屬性:
               @className:指定對應(yīng)exception的配置類,默認(rèn)為org.apache.struts.config.ExceptionConfig
               @handler:指定異常處理類,默認(rèn)為org.apache.struts.action.ExceptionHandler
               @key:指定在Resource Bundle種描述該異常的消息key
               @path:指定當(dāng)發(fā)生異常時(shí),進(jìn)行轉(zhuǎn)發(fā)的路徑
               @scope:指定ActionMessage實(shí)例存放的范圍,默認(rèn)為request,另外一個(gè)可選值是session
               @type:必須要有!指定所需要處理異常類的名字。
               @bundle:指定資源綁定
             -->
             <exception
              key=""hello.error
              path="/error.jsp"
              scope="session"
              type="hello.HandleError"/>
          </global-exceptions>

          <!--
             名稱:global-forwards
             描述:定義全局轉(zhuǎn)發(fā)
             數(shù)量:最多一個(gè)
             子元素:forward
          -->
          <global-forwards>
             <!--
              名稱:forward
              描述:定義一個(gè)具體的轉(zhuǎn)發(fā)
              數(shù)量:任意多個(gè)
              屬性:
               @className:指定和forward元素對應(yīng)的配置類,默認(rèn)為org.apache.struts.action.ActionForward
               @contextRelative:如果為true,則指明使用當(dāng)前上下文,路徑以“/”開頭,默認(rèn)為false
               @name:必須配有!指明轉(zhuǎn)發(fā)路徑的唯一標(biāo)識符
               @path:必須配有!指明轉(zhuǎn)發(fā)或者重定向的URI。必須以"/"開頭。具體配置要與contextRelative相應(yīng)。
               @redirect:為true時(shí),執(zhí)行重定向操作,否則執(zhí)行請求轉(zhuǎn)發(fā)。默認(rèn)為false
             -->
             <forward name="A" path="/a.jsp"/>
             <forward name="B" path="/hello/b.do"/>
          </global-forwards>

          <!--
             名稱:action-mappings
             描述:定義action集合
             數(shù)量:最多一個(gè)
             子元素:action
          -->
          <action-mappings>
             <!--
              名稱:action
              描述:定義了從特定的請求路徑到相應(yīng)的Action類的映射
              數(shù)量:任意多個(gè)
              子元素:exception,forward(二者均為局部量)
              屬性:
               @attribute:制定與當(dāng)前Action相關(guān)聯(lián)的ActionForm Bean在request和session范圍內(nèi)的名稱(key)
               @className:與Action元素對應(yīng)的配置類。默認(rèn)為org.apache.struts.action.ActionMapping
               @forward:指名轉(zhuǎn)發(fā)的URL路徑
               @include:指名包含的URL路徑
               @input:指名包含輸入表單的URL路徑,表單驗(yàn)證失敗時(shí),請求會被轉(zhuǎn)發(fā)到該URL中
               @name:指定和當(dāng)前Acion關(guān)聯(lián)的ActionForm Bean的名字。該名稱必須在form-bean元素中定義過。
               @path:指定訪問Action的路徑,以"/"開頭,沒有擴(kuò)展名
               @parameter:為當(dāng)前的Action配置參數(shù),可以在Action的execute()方法中,通過調(diào)用ActionMapping的getParameter()方法來獲取參數(shù)
               @roles:指定允許調(diào)用該Aciton的安全角色。多個(gè)角色之間用逗號分割。處理請求時(shí),RequestProcessor會根據(jù)該配置項(xiàng)來決定用戶是否有調(diào)用該Action的權(quán)限
               @scope:指定ActionForm Bean的存在范圍,可選值為request和session。默認(rèn)為session
               @type:指定Action類的完整類名
               @unknown:值為true時(shí),表示可以處理用戶發(fā)出的所有無效的Action URL。默認(rèn)為false
               @validate:指定是否要先調(diào)用ActionForm Bean的validate()方法。默認(rèn)為true
              注意:如上屬性中,forward/include/type三者相斥,即三者在同一Action配置中只能存在一個(gè)。
             -->
             <action path="/search"
              type="addressbook.actions.SearchAction"
              name="searchForm"
              scope="request"
              validate="true"
              input="/search.jsp">
              <forward name="success" path="/display.jsp"/>
             </action>  
          </action-mappings>

          <!--
             名稱:controller
             描述:用于配置ActionServlet
             數(shù)量:最多一個(gè)
             屬性:
              @bufferSize:指定上傳文件的輸入緩沖的大小.默認(rèn)為4096
              @className:指定當(dāng)前控制器的配置類.默認(rèn)為org.apache.struts.config.ControllerConfig
              @contentType:指定相應(yīng)結(jié)果的內(nèi)容類型和字符編碼
              @locale:指定是否把Locale對象保存到當(dāng)前用戶的session中,默認(rèn)為false
              @processorClass:指定負(fù)責(zé)處理請求的Java類的完整類名.默認(rèn)org.apache.struts.action.RequestProcessor
              @tempDir:指定文件上傳時(shí)的臨時(shí)工作目錄.如果沒有設(shè)置,將才用Servlet容器為web應(yīng)用分配的臨時(shí)工作目錄.
              @nochache:true時(shí),在相應(yīng)結(jié)果中加入特定的頭參數(shù):Pragma ,Cache-Control,Expires防止頁面被存儲在可數(shù)瀏覽器的緩存中,默認(rèn)為false
          -->
          <controller
             contentType="text/html;charset=UTF-8"
             locale="true"
             processorClass="CustomRequestProcessor">
          </controller>
          <!--
             名稱:message-resources
             描述:配置Resource Bundle.
             數(shù)量:任意多個(gè)
             屬性:
              @className:指定和message-resources對應(yīng)的配置類.默認(rèn)為org.apache.struts.config.MessageResourcesConfig
              @factory:指定資源的工廠類,默認(rèn)為org.apache.struts.util.PropertyMessageResourcesFactory
              @key:
              @null:
              @parameter:
          -->
          <message-resources
             null="false"
             parameter="defaultResource"/>
          <message-resources
             key="images"
             null="false"
             parameter="ImageResources"/>
            
          <!--
             名稱:plug-in
             描述:用于配置Struts的插件
             數(shù)量:任意多個(gè)
             子元素:set-property
             屬性:
              @className:指定Struts插件類.此類必須實(shí)現(xiàn)org.apache.struts.action.PlugIn接口
          -->
          <plug-in
             className="org.apache.struts.validator.ValidatorPlugIn">
             <!--
              名稱:set-property
              描述:配置插件的屬性
              數(shù)量:任意多個(gè)
              屬性:
               @property:插件的屬性名稱
               @value:該名稱所配置的值
             -->
             <set-property
              property="pathnames"
              value="/WEB-INF/validator-rules.xml,/WEB-INF/vlaidation.xml"/>
          </plug-in>

          </struts-config>

          posted on 2009-05-11 16:26 lanxin1020 閱讀(279) 評論(0)  編輯  收藏 所屬分類: struts1
          主站蜘蛛池模板: 彰武县| 罗甸县| 蓬安县| 武城县| 西青区| 永平县| 黑山县| 普安县| 香港| 瑞金市| 禹城市| 当涂县| 海宁市| 西乌珠穆沁旗| 玉山县| 铜陵市| 工布江达县| 海原县| 吉安市| 南投县| 南宁市| 青田县| 吉木萨尔县| 密云县| 柘城县| 迁西县| 武城县| 玉溪市| 平定县| 临清市| 巴南区| 隆化县| 安溪县| 秭归县| 屏山县| 龙川县| 巴南区| 连南| 昌都县| 郸城县| 顺昌县|