【永恒的瞬間】
          ?Give me hapy ?

          Web.xml 文件對于配置任何 Java Web 應用都是必須的 . 當配置 Struts 應用時 , 還應該在 web.xml 文件中配置和 Struts 相關的配置選項 . 一下講述配置 Struts 應用的必要步驟 .

          ?

          1 ·配置 Struts ActionServlet

          第一步用 <servlet> 元素來聲明 ActionServlet

          <servlet> 的子元素中,經常用到的有:

          ?? · <servlet-name> 元素用來定義 Servlet 的名稱。

          ?? · <servlet-class> 元素用來置頂 Servlet 的完整類名。

          ?? · <init-param> 元素用于配置 Servlet 初始化參數。

          第二步為配置 <servlet-mapping> 元素,用來指定 ActionServlet 可以處理哪些 URL

          有子元素 <servlet-name> <url-pattern> ,注意,這里的 <servlet-name> 必須和 <servlet> 元素中的 <servlet-name> 匹配。

          ?

          ** 提示 **

          ? 不管應用中包含多少子應用,都只需要配置一個 ActionServlet 。有些開發者希望設置多個 ActionServlet 類來處理應用中不同的功能,其實這是不必要的,因為 Serlvet 本身支持多線程。而且,目前的 Struts 框架只允許在應用中配置一個 ActionSerlvet

          ?

          2 ·配置歡迎文件清單

          <welcome-file-list> 元素中可以包含多個 <welcome-file> 子元素,當 Web 容器調用 Web 應用的歡迎文件時,首先尋找第一個 <welcome-file> 指定的文件。如果這個文件存在,將把這一個文件返回給客戶;如果這個文件不存在, Web 容器將依次尋找下一個歡迎文件,直到找到為止;如果都不存在,服務器將向客戶返回“ HTTP 404 Not Found ”的出錯信息。

          ?

          3 ·配置錯誤處理

          <error-page>

          ? <error-code></error-code>

          ? <location></location>

          </error-page>

          如果在 web.xml 文件中做了以上配置,當 Web 容器捕獲到錯誤時(如: HTTP 404 HTTP 500 ),將根據錯誤代碼減縮 <error-page> 的子元素 <error-code> ,如果有匹配項就返回 <location> 子元素指定的文件。

          ? 也可以為 Web 容器捕獲的 Java 異常配置 <error-page> 元素,這是需要設置 <exception-type> 子元素,它用于指定 Java 異常類。 Web 容器可能捕獲如下異常:

          ? · RuntimeException Error

          ? · ServletException 或它的子類。

          ? · IOException 或它的子類。

          這里的配置信息如下:

          <error-page>

          ? <exception-type></exception-type>

          ? <location></location>

          </error-page>

          ?

          4 ·配置 Struts 標簽庫

          <taglib> 元素有兩個子元素: <taglib-uri> <taglib-location> <taglib-uri> 元素指定標簽庫的相對或者絕對 URI 地址, Web 應用將根據這一 URI 來訪問標簽庫; <taglib-location> 元素指定標簽庫描述文件在文件資源系統中的物理位置。

          如果 Web 應用中沒有使用 Struts 標簽庫,就沒有必要在 web.xml 文件中配置它。此外,也可以按以上方式在 web.xml 文件中配置用戶自定義的客戶化標簽庫

          ?

          ?

          Struts配置文件簡介
          Struts?framework根據配置文件使得ServletAction,ActionMapping,Action , ActionForm這幾個不同層次的組件相互交互,協調的工作。這些配置文件是在系統啟動的時候,讀入導內存中,供控制器使用的。
          Struts?framework主要包括三部分的配置描述,一個是指定有關Struts?Controller及其相關的的配置描述(Initialization?Parameters),一個對struts?tag?lib的描述,一個是struts組件(ActionMapping,Action,ActionForm)之間相互映射協調的關系

          有關Struts?Controller及其相關的的配置描述
          ????因為Struts?Controller的主要類ActionServlet是繼承自HttpServlet,所以必須像配置一個Servlet那樣在部署描述符(Web.xml)中配置ActionServlet類及其訪問映射。
          ????當您第一次創建基于Struts的Web應用程序時,將為您創建一個部署描述符,這通常就足夠了。該文件包括下列條目:
          ?????<servlet>條目定義用于Web應用程序的servlet(在本例中,這是唯一的servlet):
          —??<servlet-name>?和<servlet-class>指示ActionServlet?(標識為“操作”)接收HTTP請求并確定如何響應。
          —??<init-param>表示servlet初始化參數.
          -????“config”指示ActionServlet的行為由指定的配置文件來指導,該配置文件通常具有以下名稱:
          \WEB-INF\struts-config.xml
          -????“debug”具有整數值,它指示將有關處理的詳細信息寫至控制臺的程度。
          -????”detail”具有整數值,它指示將“映射”詳細信息(如后面所述)寫至控制臺的程度。
          —??<load-on-startup>導致在啟動應用程序時裝入servlet。
          ?????<servlet-mapping>元素標識這樣的命名模式:當命名模式由URL進行匹配時,Web服務器就將控制權移交給ActionServlet。考慮下面各種情況:
          —??訪問了ActionServlet,原因是“操作”(<servlet-mapping>中的<servlet-name>元素的內容)與“操作”(<servlet>中的<servlet-name>元素的內容)相匹配。
          ????—??<servlet-mapping>元素指定URL的結尾的命名模式。每個URL的開頭都是應用程序上下文路徑。按照慣例,ActionServlet調用對象以響應與命名模式“*do”(其中“*”是通配符)一致的URL。
          ?????<welcome-file-list>元素指示獲得初始控制權的特定于應用程序的代碼;在本例中,Web服務器直接從Web?Content目錄中調用index.jsp。
          ?????<error-page>元素指示顯示哪個JSP來響應錯誤;在本例中,錯誤為如下所示:
          —??404??(找不到資源)
          —??500??(Web服務器內部發生錯誤)
          ?????每個<taglib>元素都使相對URL(相對于Web.xml)與標記庫描述符(相對于Web應用程序根目錄)相關聯。每個JSP都可以使用同一個URL來表示給定的標記庫,而Web.xml確定引用了哪個文件。
          有關struts?tag?lib的配置描述
          ????如果你的web?application打算使用Struts的taglib,那么你有必要在web.xml中對struts?taglib進行配置描述。
          有關Struts?Action?Mapping的配置描述
          ????  作為先前描述的web.xml設置的結果,Web應用程序服務器將請求的一個子集按路徑發送至ActionServlet,它通常調用一系列操作和JSP。ActionServlet的響應是基于配置文件struts-config.xml的內容的。有關其DTD文檔的描述,請參考http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd
          ????一般struts-config(version1.1)包含了如下幾個部分:
          (1)form-bean
          ????(2)global-forwards
          ????(3)action-mappings
          ????(4)data-sources

          ????我們知道,對于這樣的一個請求(例如,表示為“/login.do”),執行下列步驟:
          1、????尋找操作類對象(繼承org.?apache.struts.action.Action的類)
          2、????ActionServlet調用操作類對象的執行方法
          操作類中的執行方法的特征符為如下所示:
          public?ActionForward??execute(
          ??????ActionMapping?mapping,
          ??????ActionForm?form,
          ??????HttpServletRequest?request,
          ??????HttpServletResponse?response)
          ?????映射對象(ActionMapping),它包含指示如何響應方法的每個可能結果的規則(“映射”)
          ?????Struts表單bean(ActionForm),它保存發送至HTML表單或接收自HTML表單的數據
          ?????請求和響應對象(HttpServletReques/?HttpServletResponse)

          3、????從執行方法返回ActionForward對象,用于指導ActionServlet接著訪問哪個操作類或JSP
          返回的ActionForward對象中的信息取決于兩個值:
          ?????方法的結果(如在“成功”或“故障”等字符串中所述)
          ?????映射對象,它包含從Struts配置文件中讀取的信息


          要弄明白某些運行時關系,要明白struts-config.xml該文件包括下面的一組條目:
          ?????<form-beans>標記標識每個表單bean
          ?????<action-mappings>標記包括用于指導應用程序流的信息,每個<action>子標記都使相對URL與操作類和潛在的后續操作相關。
          Form-bean元素
          Struts配置文件中的一個示例<form-bean>子元素為如下所示:
           <form-bean?name=“registerForm”??type=“strutscommon.RegisterForm”/>
          每個<form-bean>子元素都包括下列屬性:
          name
          表單bean的名稱,稍后在配置文件中會用到。ActionServlet舉例說明了該bean(如果需要的話)并在將對bean的引用存儲在請求或會話對象中時將該名稱用作鍵。
          type
               類的全限定名稱,它繼承org.apache.struts.action.ActionForm該類必須在類路徑中。接受“Struts貿易樣本”中的注冊的表單bean包括HTML注冊表單中每個字段的getter?和setter方法。該bean還包括驗證方法,如下節“驗證”中所述。
          Action元素
          ???Struts配置文件中的一個示例<action>元素為如下所示:
            <action?path=“/register”
          ????????type=“strutsEGL.RegisterAction”
          ???????name=“registerForm”
          ???????input=“/register.jsp”
          ???????scope=“request”
          ???????<forward?name=“success”path=“/home.do”/>
          ???????<?forward?name=“failure”path=“/register.jsp”/>
          ?????</action>
          每個<action>元素都包括下列屬性中的某些屬性或所有屬性:
          ?path
          ?????將請求指定為非限定URL,不帶文件擴展名(例如,“/register”)請求是根據<action>元素中的其它屬性來處理的,并且是用戶輸入的結果或者是在different<action>元素中標識的轉發的結果。
          type
          ?????指定在發出請求時調用其執行方法的操作類的全限定名。該類必須在類路徑中。
             注:不指定要實例化的類,可以通過使用forward屬性來轉發請求,該屬性在“Struts貿易樣本”中未使用,并且與后面描述的<forward>子元素不相同。
          name
          ?????用于保存發送至HTML表單或接收自HTML表單的數據表單bean的名稱。
            ?input
          ?????指定相對URL(例如,“/register.do”或“/index.jsp”)必須包括后綴,
          如果表單bean的驗證方法指示發生了輸入錯誤,則會調用URL;有關詳細信息,參見下節的“驗證”。
            ?scope
          ?????????指定將對表單?bean的引用存儲在哪個作用域中。其值為“會話”(缺省值)或“請求”。
              ?Struts配置文件中的每個<action>元素還包括子元素<forward>,它指定從方法結果至后續調用的映射。每個<forward>子元素都包括下列屬性
            name?
          指定導致在運行時使用當前映射的字符串(例如,“success”),但是
          只限于以下情況:在?type?中引用的操作類的執行方法使用完全相同
          的字符串來配置返回至ActionServlet的?ActionForward對象。下面
          的執行方法不是很重要,但是會導致使用“success”映射:
          ??
          ?public?ActionForward?exectue(
          ???ActionMapping?mapping,
          ???ActoinForm?form,
          ???HttpServletRequest?request,
          ???HttpServletResponse?response)
          ???Throws?IOException,ServletException

          ???ActionForward?forward=new?ActionForward();
          ???Forward=mapping,findForward(“success”);
          ???return(forward);

          ?????path
          ??????????指定非限定URL(例如,“/home.do”?或“/index.jsp”)必須包括文件擴展名,僅當使用當前映射時才會調用該URL,轉發操作類是根據different<action>元素中的屬性來處理的,尤其是,在其path屬性標識相同URL的<action>元素中。

          ????有必要提一下的是,在struts1.1中,提出了對Multiple?Application?Support。在struts的早先版本中,只有一個struts配置文件,一般叫struts-config.xml。但是,對于越來越復雜的應用系統的發展,只有一個地方存放這個一個文件,對大型項目來說,使用和修改這個配置文件,使其成為了一個應用的瓶頸問題。在struts1.1中,你可以定義多了配置文件協同工作。

          Struts 框架在啟動時會讀入其配置文件,根據它來創建和配置各種 Struts 組件。 Struts 配置文件使得開發者可以靈活地組裝和配置各個組件,提高了應用軟件的可擴展性和靈活性,可以避免硬編碼。 Struts 配置文件是基于 XML 的。

          ?

          · 1 org.apache.struts.config

          ? Struts1.1 中加入了 org.apache.struts.config 包。在 Struts 應用啟動時,會把 Struts 配置文件中的配置信息讀入到內存中,并把他們存放在 cofnig 包中相關 JavaBean 類的實例中。

          org.apache.struts.config 包中的每一個類都和 Struts 配置文件中特定的配置元素對應。

          Struts 框架完成了對配置文件的驗證和解析后,就把配置文件中的信息存放在這些類的實例中。這些類的實例可以充當配置信息的運行時容器, Struts 組件可以方便地通過他們來獲取配置信息。

          org.apache.struts.config.ModuleConfig Struts 框架中扮演了十分重要的角色。它是整個 org.apache.struts.config 包的核心,在 Struts 應用運行時用來存放整個 Struts 應用的配置信息。如果有多個子應用,每個子應用都會有一個 ModuleConfig 對象。 ModuleConfig Struts 配置文件的根元素 <struts-config> 對應。 <struts-config> 根元素中包含 <form-bean> <action> <forward> 等一系列子元素,因此 ModuleConfig 中包含了和每個子元素對應的配置類實例。

          org.apache.struts.config.ConfigRuleSet 類的功能不同于其他類,它包含了解析 Struts 配置文件所需要的一組規則。在應用啟動時,該類負責構造 org.apache.struts.config 包中其他用于保存配置信息的 JavaBean 類的實例。

          下面分別介紹 Struts 配置文件中每個元素的用法。

          ?

          · 2 <struts-config> 元素

          <struts-cofnig> 元素是 Struts 配置文件的根元素,和它對應的配置類為 org.apache.struts.config.ModuleConfig 類。 <struts-config> 元素有 8 個子元素。

          Struts 配置文件中,必須按照它的 DTD 指定的先后順序來配置 <struts-config> 元素的各個子元素,如果顛倒了這些子元素在配置文件中的順序,在 Struts 應用啟動時就會生成 XML 解析錯誤。

          ?

          · 3 <data-sources> 元素

          <data-sources> 元素用來配置應用所需要的數據源。數據源負責建立和特定數據庫的連接,許多數據源采用連接池機制實現,以便提高數據庫訪問性能。 Java 語言提供了 javax.sql.DataSource 接口,所有的數據源必須實現該接口。許多應用服務器和 Web 容器提供了內在的數據源組件,很多數據庫廠商也提供了數據源的實現。

          <data-sources> 元素包含零個,一個或多個 <data-source> 子元素。 <data-source> 元素用于配置特定的數據源,它可以包含多個 <set-property> 子元素。 <set-property> 元素用于設置數據源的各種屬性。

          <data-source> 元素的 type 屬性用來指定數據源的實現類。開發者應該根據實際應用的需要來選用合適的數據源實現。

          配置了數據源后,就可以在 Action 類中訪問數據源。在 org.apache.struts.action.Action 類中定義了 getDataSource(HttpRequest) 方法,它用于獲取數據源對象的引用。

          也可以在配置文件中聲明多個數據源,此時需要為每一個數據源分配唯一的 key 值,通過該值來標識特定的數據源。

          ?

          · 4 <form-beans> 元素

          <form-beans> 元素用來配置多個 ActionForm Bean <form-beans> 元素包含零個或多個 <form-bean> 子元素。每個 <form-bean> 元素又包含多個屬性。

          <form-bean> 元素的屬性

          屬性

          描述

          className

          指定和 <form-bean> 元素對應的配置類,默認值為 org.apache.struts.config.FormBeanConfig 。如果在這里設置自定義的類,該類必須擴展 FormBeanConfig

          name

          指定該 ActionForm Bean 的唯一標識符,整個 Struts 框架用該標識符來引用這個 bean 。該屬性是必需的。

          type

          指定 ActionForm 類的完整類名(類的報名也包含在內),該屬性是必需的

          ?

          ? 如果配置動態 ActionForm Bean ,還必須配置 <form-bean> 元素的 <form-property> 子元素。 <form-property> 元素用來指定表單字段,它有四個屬性。

          <form-property> 元素的屬性

          屬性

          描述

          className

          指定和 <form-property> 元素對應的配置類,默認值為 org.apache.struts.config.FormPropertyConfig

          initial

          以字符串的形式設置表單字段的初始值。如果沒有設置該屬性,則基本類型的表單字段的默認值為 0 ,對象類型的表單字段的默認值為 null

          name

          指定表單字段的名字。該屬性是必需的

          type

          指定表單字段的類型。如果表單資源為 Java 類,必須給出完整的類名。該屬性是必需的。

          ?

          · 5 <global-exceptions> 元素

          <global-exceptions> 元素用于配置異常處理。 <global-exceptions> 元素可以包含零個或者多個 <exception> 元素。

          <exception> 元素用來設置 Java 異常和異常處理類 org.apache.struts.action.ExceptionHandler 之間的映射。

          <exception> 元素的屬性

          屬性

          描述

          className

          指定和 <exception> 元素對應的配置類。默認值為 org.apache.struts.config.ExceptionConfig

          handler

          指定異常處理類。默認值為 org.apache.struts.action.ExceptionHandler

          key

          指定在 Resource Bundle 中描述該異常的消息 key

          path

          指定當異常發生時的轉發路徑

          scope

          指定 ActionMessages 實例的存放范圍,可選值包括 request session ,此項的默認值為 request

          type

          指定所需處理的異常類的名字。此項是必需的

          bundle

          指定 Resource Bundle

          ?

          · 6 <global-forwards> 元素

          <global-forwards> 元素用來聲明全局的轉發關系。 <global-forwards> 元素由零個或者多個 <forward> 元素組成。 <forward> 元素用于把一個邏輯名映射到特定的 URL 。通過這種方式, Action 類或者 JSP 文件無需要指定實際的 URL ,只要指定邏輯名就能實現請求轉發或者重定向,這可是減弱控制組件和視圖組件之間的耦合,并且有助于維護 JSP 文件。

          <forward> 元素的屬性

          屬性

          描述

          className

          <forward> 元素對應的配置類,默認值為 org.apache.struts.action.ActionForard

          contextRelative

          如果此項為 true ,表示當 path 屬性以“ / ”開頭時,給出的是相對于當前上下文的 URL 。此項的默認值為 false

          name

          轉發路徑的邏輯名。此項是必需的

          path

          指定轉發或重定向的 URL 。此項是必需的,必需以“ / ”開頭。當 contextRelative 屬性為 false 時,表示 URL 路徑相對于當前應用 (application-relative) ;當 contextRelative 屬性為 true 時,表示 URL 路徑相對于當前上下文 (context-relative)

          redirect

          當此項為 true 時,表示執行重定向操作;當此項為 false 時,表示執行請求轉發操作。此項默認值為 false

          ?

          · 7 <action-mappings> 元素

          <action-mappings> 元素包含零個或者多個 <action> 元素。 <action> 元素描述了從特定的請求路徑到相應的 Action 類的映射。

          <action> 元素中可以包含多個 <exception> <forward> 子元素,他們分別配置局部的異常處理及請求轉發僅被當前的 Action 所訪問。

          <global-exceptions> 元素中定義的 <exception> 子元素代表全局的異常配置。在 <global-forwards> 元素中定義的 <forward> 子元素代表全局的請求轉發。在不同位置配置 <exception> <forward> 元素的語法和屬性是一樣的。

          <action> 元素的屬性

          屬性

          描述

          attribute

          設置和 Action 關聯的 ActionForm Bean request session 范圍內的屬性 key 。例如,假定 Form Bean 存在于 request 范圍內,并且此項為“ myBean ”,那么 request.getAttribute(“MyBean”) 就可以返回該 Bean 的實例。此項為可選項。

          className

          <action> 元素對應的配置元素。默認值為 org.apache.struts.action.ActionMapping

          forward

          指定轉發的 URL 路徑

          include

          指定包含的 URL 路徑

          input

          指定包含輸入表單的 URL 路徑。當表單驗證失敗時,將把請求轉發到該 URL

          name

          指定和該 Action 關聯的 ActionForm Bean 的名字。該名字必需在 <form-bean> 元素中定義過。此項是可選項

          path

          指定訪問 Action 的路徑,它以“ / ”開頭,沒有擴展名

          parameter

          指定 Action 的配置參數。在 Action 類的 execute() 方法中,可以調用 ActionMapping 對象的 getParameter() 方法來讀取該配置參數

          roles

          指定允許調用該 Action 的安全角色。多個角色之間以逗號隔開。在處理請求時, RequestProcessor 會根據該配置項來決定用戶是否有調用 Action 的權限

          scope

          指定 ActionForm Bean 的存在范圍,可選值為 request session 。默認值為 session

          type

          指定 Action 類的完整類名

          unknown

          如果此項為 true ,表示可以處理用戶發出的所有無效的 Action URL 。默認值為 false

          validate

          指定是否要先調用 ActionForm Bean validate() 方法。默認值為 true

          ?

          提示: <action> 元素的 forward include type 屬性相互排斥,也就是說只能設置其中的一項。 forward 屬性的作用和 org.apache.struts.actions.ForwardAction 類相同。 Include 屬性的作用和 org.apache.struts.actions.IncludeAction 類相同。

          ? 如果在 <action> 元素中定義了局部的 <forward> 元素,它的優先級別高于全局的 <forward> 元素。

          <Action> forward 屬性和 <forward> 子元素是兩個不同的概念。 Forward 屬性指定和 path 屬性匹配的請求轉發路徑。

          ?

          · 8 <controller> 元素

          <controller> 元素用于配置 ActionServlet

          <controller> 元素的屬性

          屬性

          描述

          bufferSize

          指定上載文件的輸入緩沖的大小。該屬性為可選項,默認值為 4096

          className

          指定和 <controller> 元素對應的配置類。默認值為 org.apache.struts.config.ControllerConfig

          contentType

          指定響應結果的內容類型和字符編碼。該屬性為可選項,默認值為 text/html 。如果在 Action JSP 網頁中也設置了內容類型和字符編碼,將會覆蓋該設置

          locale

          指定是否把 Locale 對象保存到當前用戶的 Session 中。默認值為 false

          processorClass

          指定負責處理請求的 Java 類的完整類名。默認值為 org.apache.struts.action.RequestProcessor 。如果把此項設置為自定義的類,那么應該保持該類擴展了 org.apache.struts.action.RequestProcessor

          tempDir

          指定處理文件上傳的臨時目錄。如果此項沒有設置,將采用 Servlet 容器為 Web 應用分配的臨時工作目錄

          nochache

          如果為 true ,在響應結果中將加入特定的頭參數: Pragma Cache-Control Expires ,防止頁面被存儲在客戶瀏覽器的緩存中。默認值為 false

          ?

          如果應用包含多個子應用,可以在每個子應用的 Struts 配置文件中配置 <controller> 元素。這樣,盡管這些子應用共享同一個 ActionServlet 對象,但是它們可以使用不同的 RequestProcessor 類。

          ?

          · 9 <message-resources> 元素

          <message-resources> 元素用來配置 Resource Bundle Resource Bundle 用于存放本地化消息文本。

          <message-resources> 元素的屬性

          屬性

          描述

          className

          <message-resources> 元素對應的配置類。默認值為 org.apache.struts.config.MessageResourcesConfig

          factory

          指定消息資源的工廠類。默認值為 org.apache.struts.util.PropertyMessageResourcesFactory

          key

          指定 Resource Bundle 存放在 ServletContext 對象中時采用的屬性 key 。默認值為由 Globals.MESSAGES_KEY 定義的字符串常量。只允許有一個 Resource Bundle 采用默認的屬性 key

          null

          指定 MessageResources 類如何處理未知的消息 key 。如果此項為 true ,將返回空字符串。如果此項為 false ,將返回類似“ ???global.label.missing??? ”的字符串。該屬性為可選項,默認值為 true

          parameter

          指定 Resource Bundle 的消息資源文件名。

          ?

          許多 Struts 客戶化標簽都通過 bundle 屬性來指定 Resource Bundle ,標簽的 bundle 屬性和 <message-resources> 元素的 key 屬性匹配。

          ?

          · 10 <plug-in> 元素

          <plug-in> 元素用于配置 Struts 插件。

          <plug-in> 元素的屬性

          屬性

          描述

          className

          指定 Struts 插件類。插件類必需實現 org.apache.struts.action.PlugIn 接口

          ?

          · 11 。配置多應用模塊

          Struts 1.1 支持多應用模塊,即同一個應用包含多個子應用,每個子應用可以處理相關的一組功能。

          所有的子應用都共享同一個 ActionServlet 實例,但每個子應用都有單獨的配置文件。把應用劃分成多個子應用模塊包含一下步驟:

          (1) ?????? 為每個子應用傳見單獨的 Struts 配置文件。

          (2) ?????? web.xml ActionServlet 的配置代碼中添加每個子應用信息。

          (3) ?????? 采用 <forward> 元素或 SwitchAction 類來實現子應用之間的切換

          posted on 2007-02-07 08:23 ???MengChuChen 閱讀(1419) 評論(0)  編輯  收藏 所屬分類: struts
          主站蜘蛛池模板: 海阳市| 潜江市| 鹤山市| 苍南县| 滕州市| 长寿区| 温州市| 平凉市| 古田县| 遂昌县| 玉溪市| 许昌市| 祥云县| 扎兰屯市| 隆安县| 焉耆| 克东县| 梧州市| 米脂县| 玛纳斯县| 邢台县| 静乐县| 抚宁县| 金昌市| 贞丰县| 天门市| 阿拉善盟| 桐城市| 墨竹工卡县| 抚顺市| 贺兰县| 北宁市| 西昌市| 全南县| 射洪县| 恭城| 巴林右旗| 礼泉县| 浪卡子县| 吉林省| 苏尼特左旗|