Struts功能詳解——ActionMapping對象

        Struts功能詳解——ActionMapping對象

ActionMapping描述了struts中用戶請求路徑和Action的映射關係,在struts中每一個ActionMapping都是經過path屬性和一個特定的用戶請求URL關聯。它負責轉發用戶請求給具體的Action,同時還轉發了其餘的一些相關信息,這種請求和處理動做之間的映射關係保存在struts-config.xml這個配置文件中,在web服務器初始化的時候,會加載這個配置文件,struts給每個Action都建立一個ActionMapping對象,用來提供給Action使用,當ActionServlet轉發請求的時候,ActionMapping對象會被做爲參數傳遞給Action的execute()方法。
 
 
 
在一個web應用中,每一個資源都必須經過URI來進行引用。 資源包括HTML頁面,JSP頁面,和定製動做。爲了給定製動做一個 URI或者說路徑,Struts框架提供了一個 ActionMapping對象。

ActionMaping也是Struts的一個核心對象,一般咱們不用手寫ActionMapping類,它只須要在配置文件中配置就行。html

ActionMapping如何配置:

ActionMapping在配置文件Strtus-config.xml中配置,配置格式以下:node

 

  1. <struts-config>  
  2. <action-mappings>  
  3. <actionpathactionpath="/login"  
  4. type="com.bjpowernode.struts.LoginAction"  
  5. name="loginForm"                  
  6. scope="request"                  
  7. >  
  8. <forwardnameforwardname="success" path="/login_success.jsp" />  
  9. <forwardnameforwardname="error"path="/login_error.jsp"/>                  
  10. </action>  
  11. </action-mappings>  
  12. </struts-config>  

 

其中<action>標籤是爲每個獨立的action配置,配置他們的訪問方式和訪問控制。web

<forward>標籤配置action執行完返回之後,須要到達的地方。apache

其中name scope type分別是actionMapping的一個屬性,它對應着action的須要訪問的位置和數據來源,還有數據範圍。api

 

ActionMapping的功能:

ActionMapping的主要功能就是管理Action的信息和管理Action執行完成之後的ActionForward的信息。服務器

它將特定請求映射到特定Action的相關信息存儲ActionMapping中,ActionServelt將ActionMapping傳送到Action類execute()方法,Action將使用ActionMapping的findForward()方法,此方法返回一個指定名稱的ActionForward,這樣Action就完成了本地轉發。若沒有找到具體的ActionForward,就返回一個null.app

 

ActionMapping的方法:

publicExceptionConfig findException(Class type) ,查找異常對象框架

public ActionForwardfindForward(String name) 可在映射中動態添加ActionForward:jsp

public String[]findForwards()找到一個Action能夠使用的actionForward列表spa

public ActionForwardgetInputForward() 獲得本action的輸入ActionForard.

ActionMapping繼承於org.apache.struts.config.ActionConfig

 

總之,對於ActionMapping來講,起算是一個web控制層的數據字典,這個數據字典裏面存放在ActionActionForward的信息,在程序執行的過程當中,查閱這個數據字典,而後達到相應的位置,執行完成之後,再查詢這個數據字典,轉發特定的信息。

相關文章
相關標籤/搜索