Struts詳解之struts-config.xml
Posted on 2007-06-02 10:15 筱筱 閱讀(1105) 評(píng)論(0) 編輯 收藏 所屬分類: Struts學(xué)習(xí)日記Struts配置文件struts-config.xml
該文件可配置各種組件,包括 form bean,Actions,ActionMappings,全局轉(zhuǎn)發(fā)GlobalForwards,數(shù)據(jù)源DataSource及插件Plugins。
例如:
<struts-config>
<form-beans>
<form-bean name="loginAction" type="login.loginActionForm" />
</form-beans>
<action-mappings>
<action name="loginActionForm" type="login.loginAction"
validate="false" input="/login.jsp"
scope="request" path="/loginAction" >
<forward name="Success" path="/main.jsp"/>
<forward name="Fail" path="/register.jsp"/>
</action>
</action-mappings>
</struts-config>
在此例中,根元素是<struts-config>,它包含兩個(gè)主要的元素<form-beans>和<action-mappings>,分別描述了系統(tǒng)中的ActionForm對(duì)象和Action對(duì)象。
struts-config.xml的主要元素及作用如下:
·<struts-config>:根元素
·<form-beans>:描述一組ActionForm對(duì)象
·<action-mappings>:描述一組Action對(duì)象
·<global-forwards>:定義在整個(gè)應(yīng)用程序內(nèi)可見的全局轉(zhuǎn)發(fā)
·<data-source>:定義數(shù)據(jù)源
·<global-exception>:定義全局異常
·<controller>:用于配置控制類
·<message-resources>:用于配置消息資源包
·<plug-in>:用于定義添加至Struts應(yīng)用中的插件
1.<form-beans>元素(用于描述ActionForm對(duì)象)
<form-beans>元素允許配置多個(gè)ActionForm類。它可包含零個(gè)或多個(gè)<form-bean>子元素。
<form-bean>元素的主要屬性如下:
·className:可選,指定和<form-bean>元素對(duì)應(yīng)的配置類,默認(rèn)值為org.apache.struts.config.FormBeanConfig,自定義的配置類必須擴(kuò)展該類。
·name:指定該ActionForm的唯一標(biāo)識(shí),Struts框架用該標(biāo)識(shí)來引用這個(gè)form bean,該屬性必須指定。
·type:指定ActionForm的完整類路徑和類名,該屬性必須指定。
如果配置了動(dòng)態(tài)ActionForm(DynaActionForm),則還必須配置<form-bean>元素的<form-property>子元素,用來指定表單字段。
2.<action-mappings>元素(用于描述Action對(duì)象)
<action-mappings>元素幫助進(jìn)行框架內(nèi)部的流程控制,可將請(qǐng)求URI映射到Action類,將Action對(duì)象與ActionForm對(duì)象相關(guān)聯(lián)。
<action-mappings>元素內(nèi)可以定義多個(gè)<action>子元素。<action>元素所描述的是特定的請(qǐng)求路徑和一個(gè)相應(yīng)Action類之間的映射關(guān)系。Struts控制器會(huì)將請(qǐng)求中的URI路徑與諸多<action>元素中的path屬性相匹配,以選出一個(gè)特定的映射。
<action-mappings>元素的主要屬性如下:
·attribute:設(shè)置和Action關(guān)聯(lián)的forn bean在request/session內(nèi)的屬性key,通過request/session的getAttribute(attribute)方法返回該form bean的實(shí)例。
·name:指定同該Action關(guān)聯(lián)的form bean的引用標(biāo)識(shí)。
·type:指定該Action類的完整類路徑和類名。
·validate:指定是否調(diào)用form bean的validate()方法驗(yàn)證表單的數(shù)據(jù),默認(rèn)為true。
·input:指定表單輸出頁面的URL路徑,當(dāng)表單驗(yàn)證失敗時(shí)將請(qǐng)求轉(zhuǎn)發(fā)到該URL。
·scope:指定同該Action類關(guān)聯(lián)的forn bean的存在范圍,可選request和session,默認(rèn)為session。
·path:指定Action的訪問路徑,即該Action在引用中的標(biāo)識(shí)名,以“/”開頭。
<action>元素中可包含零個(gè)或多個(gè)<forward>子元素,<forward>子元素定義了轉(zhuǎn)發(fā)動(dòng)作,它的主要屬性如下所示:
·name:指定轉(zhuǎn)向標(biāo)識(shí)名。
·path:指定轉(zhuǎn)向標(biāo)識(shí)名所對(duì)應(yīng)的轉(zhuǎn)向頁面。
·redirect:指定是轉(zhuǎn)發(fā)還是重定向。
3.<global-forwardvs>元素
<global-forwards>元素用來定義在整個(gè)應(yīng)用程序內(nèi)的全局轉(zhuǎn)發(fā),在該元素內(nèi)可以定義多個(gè)<forward>子元素。例如:
<global-forwards>
<forward name="Success" path="/main.jsp"/>
<forward name="Fail" path="/register.jsp"/>
</global-forwards>
4.<message-resources>元素
<message-resources>元素用于配置消息資源文件(Resource Bundle),以在應(yīng)用的客戶端界面中輸出本地化消息文本。例如:
<mesasge-resources key="application" parameter="ApplicationResources"/>
該語句指定了一個(gè)叫ApplicationResources.properties的消息資源文件或?qū)傩晕募?br> <message-resources>元素的屬性如下:
·className:指定和<form-bean>元素對(duì)應(yīng)的配置類,默認(rèn)值為org.apache.struts.config.MessageResourcesConfig
·factory:指定消息資源的工廠類,默認(rèn)為org.apache.struts.uitl.PropertyMessageResourcesFactory
·key:指定資源文件存放在ServletContext對(duì)象中時(shí)使用的屬性key,默認(rèn)值為Globals.MESSAGE_KEY定義的字符串常量。
·null:指定MessageResources對(duì)未知消息的處理方式,若為true將返回空字符串,若為false則返回類似“???global.label.missing???”的字符串,默認(rèn)值為true。
·parameter:指定消息資源文件存放的路徑。