struts-config.xml是Struts的核心文件。該文件可配置各類組件,包括,FormBeans,Actions,ActionMappings,全局轉發GlobalForwards,數據源DataSources及插件Plugin,這篇文件我結合在(Struts重構)構建一個簡單的基於MVC模式的JavaWeb一文來講說Struts配置文件struts-config.xml的主要元素!
<form-beans>元素:
<form-beans>元素容許配置多個ActionForm類,能夠包含零個或多個<form-bean>子元素。其主要元素以下所示:
calssName :可選。指定和<form-bean>元素對應的配置類,默認值這org.apache.struts.config.FormBeanConfig,自定義的配置類必須擴展該類。
name:指定該ActionForm的唯一標識名,Struts框架用該標識來引用這個form bean,該屬性必須填寫!
type:指定ActionForm的完整類路徑和類名,該屬性必須填寫!
例子:html
若是配置動態ActionForm(DynaActionForm),則還必須配置<form-bean>元素的<form-property>子元素,用來指定表單字段,
例子:java
<action-mappings>元素:
<action-mappings>元素幫助進行框架內部的流程控制,能夠將 請求URI映射到Action類,將Action對象與ActionForm對象相關聯。
<action-mappings>元素內可定義多個<action>子元素。<action>元素所描述的是特定的請求路徑和一個相應的Action類之間的映射關係。Struts控制器會將請求中的URI路徑與諸多<action>元素中的path屬性相匹配,以選出一個特定的映射。其有如下屬性:
attribute:設置和Action關聯的form bean在request/session內的屬性key,經過request/session的getAttribute(attribute)方法返回該form bean實例。
className:和<action>元素對應的配置元素。默認爲org.apache.struts.action.ActionMapping
forward:指定局部轉發項。
include:指定包含的URL路徑。
input:指定表單輸入頁的URL路徑。當表單驗證失敗時將請求轉發到該URL。
name:指定同該Action關聯的form bean的引用標識。
path:指定Action的訪問路徑,即該Action在引用中的標識名,以"/"開頭。
parameter:指定容許調用該Action的參數。在Action類的execute()方法中調用ActionMapping對象的getParameter()方法來讀取。
roles:指定容許調用該Action類關聯的安全角色。多個角色之間用逗號分隔。
scope:指定同該Action類關聯的form bean的存在範圍。可選request和session,默認爲session.
type:指定該Action類的完整類路徑和類名。
unknown:若該屬性爲true,則能夠處理用戶發出的無效ActionURL.默認爲false。
validate:指定是否調用form bean的validate()方法驗證表單的數據。默認爲trueapache
另外<action>元素中可包含零個或多個<forward>子元素。<forward>子元素定義了轉發動做。它的主要屬性以下:
name:指定轉向的標識名。
path:指定轉向標識名所對應的轉向頁面
redirect:指定是轉發仍是重定向。
例:安全
<global-forwards>元素
<global-forwards>元素用於定義在整個應用程序內的全局轉發。在該元素內可定義多個<forward>子元素。
例:session
<message-resources>元素
<message-resources>元素用於配置消息資源文件(Resources Bundle),以在應用客戶端界面中輸出本地化消息文本。其主要屬性以下:
className:指定和<form-bean>元素對應的配置類,默認值爲org.apache.struts.config.MessageResourcesConfig
factory:指定消息資源的工廠類,默認爲org.apache.struts.util.PropertyMessageResourcesFactory
key:指定資源文件存放在ServletContext對象中時使用的屬性key。默認爲Globals.MESSAGE_KEY定義的字符串常量
null:指定MessageResources對未知消息的處理方式。若爲true將返回空字符串,若爲false則返回相似以"??global.label.missing???"字符串。默認爲true。
parameter:指定消息資源文件存放路徑。
例:app
<plug-in>元素
主要用於定義添加至struts應用中的插件
例:框架