隨筆 - 71  文章 - 15  trackbacks - 0
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          因為口渴,上帝創造了水;
          因為黑暗,上帝創造了火;
          因為我需要朋友,所以上帝讓你來到我身邊
          Click for Shaanxi xi'an, Shaanxi Forecast
          ╱◥█◣
            |田|田|
          ╬╬╬╬╬╬╬╬╬╬╬
          If only I have such a house!
          〖總在爬山 所以艱辛〗
          Email:myesjoy@yahoo.com.cn
          NickName:yesjoy
          MSN:myesjoy@hotmail.com
          QQ:150230516

          〖總在尋夢 所以苦痛〗

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          Hibernate在線

          Java友情

          Java認證

          linux經典

          OA系統

          Spring在線

          Structs在線

          專家專欄

          企業信息化

          大型設備共享系統

          工作流

          工作流產品

          網上購書

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          Struts的核心是struts-config.xml配置文件,在這個文件里描述了所有的Struts組件。在這里包括配置主要的組件及次要的組件,下面是struts-config.xml包含主要元素的內容:

          一、????struts-config.xml的主要元素:
          <?xml version=”1.0” encoding=”ISO-8859-1”?>
          <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
          <struts-config>???

          ???
          <data-sources>
          ???????
          <data-source>
          ???????
          </data-source>
          ???
          </data-sources>

          ???
          <form-beans>
          ???????
          <form-bean?/>
          ???
          </form-beans>

          ???
          <global-forwards>
          ???????
          <forward?/>
          ???
          </global-forwards>

          ???
          <action-mappings>
          ???????
          <action?/>
          ???
          </action-mappings>

          ???
          <controller?/>

          ???
          <message-resources?/>

          ???
          <plug-in?/>

          </struts-config>
          注意:以上各元素的順序是非常重要的,你的struts-config.xml配置文件必須按照這個順序進行配置,否則在你的容器啟動的時候就會出錯。

          二、????struts-config.xml的子元素:
          1.<icon / >子元素
          ???它包含<small-icon / >及<large-icon / >,它的作用是圖形化其父元素,<small-icon/>的內容是一個16x16的圖像文件,而<large-icon/>的內容是一個32x32的圖像文件。如下例子:
          <icon>
          ??
          <small-icon>
          ????/images/smalllogo.gif
          ??
          </small-icon>
          ??
          <large-icon>
          ????/images/largelogo.gif
          ??
          </large-icon>
          </icon>
          2.<display-name / >子元素
          ???它提供對父元素的短文字(short textual)描述信息,如下:
          <display-name>
          ???short?textual?discription?of?its?parent?element
          </display-name>

          3.<description / >子元素
          ???它提供對父元素的完全(full-length textual)的描述信息,如下:
          <description>
          ???full-length?textual?discription?of?its?parent?element
          </description>

          4.<set-property / >子元素
          ???????它用來設置它的父元素中設定的JavaBean的屬性值,它一般用在指定的GenericDataSource 屬性,擴展的ActionMappings以及擴展的 global forwards。如下:
          <set-property?
          ??
          property="name?of?bean?property"???????
          value
          ="value?of?bean?property"?/>
          例如:
          <set-property?property="driverClass"?value="org.gjt.mm.mysql.Driver"?/>
          <set-property?property="user"?value="admin"/>
          <set-property?property="maxCount"?value="4"/>
          <set-property?property="minCount"?value="2"/>?
          <set-property?property="password"?value=""/>?
          <set-property?property="url"?value="jdbc:mysql://localhost:3306/struts"/>

          三、????配置JDBC數據源
          其配置形式如下:
          <data-sources>
          <data-source>
          <set-property?property="driverClass"?value="fully?qualified?path?of?JDBC?driver"/>
          <set-property?property="url"?value="data?source?URL"/>
          <set-property?property=”mincount”?value="the?minimum?number?of?connections?to?open"/>
          <set-property?property="password"?value="the?password?used?to?create?connections"/>
          <set-property?property="user"?value="the?username?used?to?create?connections"/>
          </data-source>
          </data-sources>
          <data-source>的屬性及其描述信息如下:
          屬??性????描 述 信 息
          Key????綁定在ServletContext上的DataSource實例的索引鍵,若不設定則缺省為Action.DATA_SOURCE_KEY,如果在應用程序中有多于一個的DataSource,則必須設置Key的值。
          DriverClass????所用的JDBC驅動類(必須的)如:com.microsoft.jdbc.sqlserver.SQLServerDriver
          url????所用的JDBC的URL(必須的)如:jdbc:microsoft:sqlserver://xg088:1433
          MaxCount????同時打開的最大連結數,缺省值為2(可選的)
          MinCount????同時打開的最小連結數,缺省值為1(可選的)
          User????連結到數據庫的用戶名(必須的)
          Password????連結到數據庫的密碼(必須的)
          Description????關于DataSource的描述信息(可選的)
          ReadOnly????如果設為true,則表示該連結是只讀的,缺省為false。(可選的)
          LoginTimeout????創建連結的最大允許時間,以秒為單位。(可選的)
          AutoCommit????如果為true,則每次execute之后會強制回滾。缺省為true。(可選的)
          舉例說明:
          <data-sources>
          ????
          <data-source>
          ????
          <set-property?property=”key”?value=”?value="WILEY_DATA_SOURCE"?/>
          ????
          <set-property?property="driverClass"?value="org.gjt.mm.mysql.Driver"?/>
          ????
          <set-property?property="url"?value="jdbc:mysql://localhost/wileyusers"?/>
          ????
          <set-property?property="maxCount"?value="5"/>
          ????
          <set-property?property="minCount"?value="1"/>
          ????
          <set-property?property="user"?value="sa"/>
          ????
          <set-property?property="password"?value="yourpassword"/>
          ?????
          </data-source>
          </data-sources>
          四、????配置FormBean
          <form-bean / >用來定義將要綁定到Action的FormBean的實例。語法如下:
          <form-beans>
          ???
          <form-bean?name="name?used?to?uniquely?identify?a?FormBean"?type="fully?qualified?class?name?of?FormBean"/>
          </form-beans>

          例:
          <form-beans>
          ????
          <form-bean?name="lookupForm"?type="wiley.LookupForm"?/>
          </form-beans>

          五、????配置全局轉發
          全局轉發可以定義幾個<forward/>子元素,struts首先會在<action-mappings>元素中找對應的<forward>,若找不到,則到全局轉發配置中找。語法如下:
          <global-forwards>
          ????
          <forward?name="unique?target?identifier"? path="context-relative?path?to?targetted?resource?"/>
          </global-forwards>
          除了name及path屬性之外,還有一個redirect屬性,如果redirect設為true的時候,則用HttpServletResponse.sendRedirect()方法,否則用RequestDispatcher.forward()方法,缺省為false。
          注:如果為true,則用HttpServletResponse.sendRedirect()方法,此時存儲在原來的HttpServletRequest中的值將會丟失。
          例子:
          <global-forwards>
          ????
          <forward?name="success"?path="/welcome.jsp"/>
          ????
          <forward?name="failure"?path="/index.jsp"/>
          </global-forwards>

          六、????配置<action-mappings>
          它可以定義幾個<action / >子元素,它主要是定義Action實例到ActionServlet類中,語法如下:
          <action-mappings>
          ????
          <action?path="context-relative?path?mapping?action?to?a?request" type="fully?qualified?class?name?of?the?Action?class" name="the?name?of?the?form?bean?bound?to?this?Action">
          ????
          <forward?name="forwardname1"?path="context-relative?path"/>
          ????
          <forward?name="forwardname2"?path="context-relative?path"/>
          ????
          </action>
          </action-mappings>
          <action/>屬性及其描述信息如下:
          屬??性????描 述 信 息
          Path????在瀏覽器的URL中輸入的字符(必須的)
          Type????連結到本映射的Action的全稱(可選的)
          Name????與本操作關聯的Action Bean在<form-bean/>中定義name名(可選的)
          Scope????指定ActionForm Bean的作用域(session和request),缺省為session。(可選的)
          Input????當Bean發生錯誤時返回的控制。(可選的)
          ClassName????指定一個調用這個Action類的ActionMapping類的全名。缺省用org.apache.struts.action.ActionMapping,(可選的)
          Forward????指定處理相應請求所對應的JSP頁面。(可選的)
          Include????如果沒有forward的時候,它起forward的作用。(可選的)
          Validate????若為true,則會調用ActionForm的validate()方法,否則不調用,缺省為true。(可選的)
          例子:
          <action-mappings>
          <action?path="/lookupAction" ?type="wiley.LookupAction" name="LookupForm" scope="request" validate="true" input="/index.jsp">
          <forward?name="success"?path="/quote.jsp"/>
          <forward?name="faliue"?path="/index.jsp"/>
          </action>
          </action-mappings>

          <action??path="/customer/customer"?//路徑的匹配模式??????????????????????????????????????
          type
          ="com.demo.order.actions.CustomerAction"???//滿足上面路徑模式的提交的請求有這個Action來響應,即有它來處理
          name
          ="customerForm"?//上面的路徑提交的數據存放在這個formBean給上面的Action處理
          parameter
          ="method"??
          input
          ="add"
          unknown
          ="false"
          validate
          ="true"?//把數據保存到FormBean時是否調用上面那個FormBean的validate函數進行數據驗證!
          >
          <forward??name="view"?path="model.customer.view" />?//Action處理完后通過Forward?name后面的字符串來跳轉到它相應的path指定的頁面
          <forward??name="add"?path="model.customer.add" />
          <forward??name="list"?path="model.customer.list" />
          </action>
          七、????配置RequestProcessor
          在struts-config.xml文件中用<controller/>子元素來定義RequestProcessor,其語法格式如下:
          <controller processorClass="fully qualified class name" />
          <controller />元素屬性及其描述信息如下:
          屬??性????描??述
          processorClass????指定自定義的RequestProcessor類的全名
          BufferSize????指定用來下載所用的緩存大小。缺省是4096字節。
          contentType????定義response文本類型,缺省是text/html
          Debug????定義當前系統的除錯級別,缺省是0
          Locale????如果是true,則在用戶的session中存放Locale對象,缺省為true
          maxFileSize????指定下載文件最大的大小。缺省是250M
          multipartClass????指定去代替org.apache.struts.upload.DiskMultipartRequestHandler類的類的全名。
          Nocache????如果是true,則會關閉每個response的緩存功能。缺省是false
          TempDir????指定上載文件所用的臨時目錄。缺省值由容器決定
          例子:
          ①?<controller?processorClass="wiley.WileyRequestProcessor"?/>
          ②?
          <controller
          ????
          contentType="text/html;charset=UTF-8"
          ????debug
          ="3"
          ????locale
          ="true"
          ????nocache
          ="true"
          ????processorClass
          ="org.apache.struts.action.RequestProcessor"/>

          八、????配置Message Resources
          在struts-config.xml文件中用<message-resources />元素來定義消息資源。其語法如下:
          <message-resources??parameter="wiley.ApplicationResources"/>
          <message-resources?/>
          元素屬性及其描述信息如下:
          屬??性????描??述
          Parameter????給定資源文件全名
          ClassName????定義處理消息資源的類名的全名,缺省是org.apache.struts.config.MessageResourcesConfig
          Factory????定義MessageResourcesFactory類的全名,缺省是org.apache.struts.util.property.MessageResourcesFacotry
          Key????定義綁定在這個資源包中的ServletContext的屬性主鍵,缺省值是Action.MESSAGES_KEY.
          Null????如果為true,則找不到消息key時,則返回null,缺省是true.
          例子:
          ①?<message-resources?parameter="wiley.ApplicationResources"/>
          ②?
          <message-resources
          ????
          parameter="StorefrontMessageResources"
          ????null
          ="false"/>
          <message-resources
          ????
          key="IMAGE_RESOURCE_KEY"
          ????parameter
          ="StorefrontImageResources"
          ????null
          ="false"/>

          注意:設定key的目的如下:
          <html:img?altKey="navbar.home.image.alt"?bundle="IMAGE_RESOURCE_KEY"?pageKey="navbar.home.image"?width="125"?height="15"?border="0"/>
          這里說明要到StorefrontImageResources.properties資源文件中找主鍵值是”navbar.home.image”所對應的值。
          這里StorefrontImageResources.properties的內容如下:
          ……
          navbar.home.image=/images/home.gif
          navbar.home.image.alt=Home
          ……
          此處navbar.home.image.alt說明的和<img alt=”Home”……/>一樣。
          九、????配置Plug-in
          詳細學習可參考:http://www.aygfsteel.com/yesjoy/articles/106419.html
          配置Plug-in如下:
          <plug-in?className="wiley.WileyPlugin"/>
          也可如下:
          <plug-in?className="com.oreilly.struts.storefront.service.memory.StorefrontMemoryDatabasePlugIn">
          ??
          <set-property?property="pathname"?value="/WEB-INF/database.xml"/>
          </plug-in>
          posted on 2006-03-19 13:56 ★yesjoy★ 閱讀(693) 評論(0)  編輯  收藏 所屬分類: Structs學習
          主站蜘蛛池模板: 奎屯市| 明光市| 肥城市| 二连浩特市| 古交市| 江西省| 建瓯市| 永泰县| 赤峰市| 舒兰市| 城步| 巧家县| 隆安县| 柘荣县| 新巴尔虎左旗| 朝阳区| 贞丰县| 武夷山市| 临海市| 东乡族自治县| 龙州县| 勃利县| 江西省| 甘肃省| 襄汾县| 苏尼特左旗| 志丹县| 台中市| 鄂托克前旗| 磐安县| 文成县| 永靖县| 平塘县| 始兴县| 高要市| 太湖县| 柳林县| 澄江县| 舟山市| 龙里县| 绍兴县|