本文轉自:http://zzx0421.iteye.com/blog/284022
  <action>元素中可以包含多個<exception>和<forward>子元素,他們分別配置局部異常處理和局部轉發。attribute設置Action關聯的ActionForm在request或者session范圍內的key,就是在request或者session共享內的名稱。className對應配置元素的類,默認的是ActionMapping.forward指定轉發URL路徑。include指定包含URL路徑input指定包含表單的URL,當表單驗證失敗的時候發送的URL.name,指定和該Action關聯的Form名字。該名字必須是在form-bean中定義過的,parameter指定Action配置參數。在Action的execute()方法中可以調用ActionMapping的getParameter()方法來讀取匹配的參數。roles指定允許調用該Action的安全角色,多個角色之間逗號格開。scope指定Form的存在范圍,默認是session.tyep指定Action的完整類名。unknown如果是true表示可以處理用戶發出的所有的無效的ActionURL,默認是false.validate指定是否調用ActionForm的validate方法。具體配置示例說明如下: 
    描述從特定的請求路徑到相應的Action類的映射。它具有以下幾個屬性: 
  1. attribute:設置和Action關聯的ActionForm Bean在request和session范圍內的key。如:Form Bean存在於request范圍內,此項設為“myBenas”,則在request.getAttribute("myBenas")就可以返回該Bean的實例。 
 2. classsName:和action元素對應的配置元素,默認為:org.apache.struts.action.ActionMapping. 
  3. forward:轉發的URL路徑。 
  4. include:指定包含的URL路徑。 
  5. input:輸入表單的URL路徑,當表單驗證失敗時,將把請求轉發到該URL。 
  6. name:指定和Action關聯的Action FormBean的名字,該名字必須在Form-Bean定義過。 
  7. path:指定訪問Action的路徑,以“/”開頭,無擴展名。 
  8. parameter:指定Actgion的配置參數,在Action類的execute()方法中,可以調用ActionMapping對象的getParameter()方法來讀取該配置參數。 
  9. roles:指定允許調用該Action的安全角色,多個角色之間用,隔開,在處理請求時,RequestProcessor會根據該配置項來決定用戶是否有權限調用Action權限。 
struts-config.xml中,每個action的配置中都有一個role屬性,這個屬性中填寫一個模塊的名稱,這樣就建立起了action與模塊的多對一關系; 
擴展struts中的requestProcessor類(注意如果使用tiles框架,需要繼承另外一個tiles專用的類),復寫其中的processorRole方法(其他方法也很有用,例如preprocess方法,可以設置提交的字符串都為UTF-8,也可以用戶寫一些系統的訪問日志等等),在這個方法中可以取出當前action的模塊名稱和當前用戶的角色,這樣就可以實現對於用戶的權限限定了。 
  10. scope:指定ActionForm Bean的存在范圍,可選取為request和session,默認為session。 
  11. type:指定Action類的完整類名。 
  12. unknown:如果此項為true,表示可以處理用戶發出的所有無效的Action URL,默認為false; 
  13. validate:指定是否要調用Action FormBean的validate方法,默認值為ture. 
注:forward、include、type屬性只能選中其中一項。
