3、STRUTS的模塊化機(jī)制 我們將講解STRUTS的相關(guān)配置,這些配置大部分與模塊化編程有關(guān)系,有些沒(méi)關(guān)系但對(duì)理解STRUTS程序有利。 3.1 ActionServlet參數(shù) ActionServlet有好多參數(shù)可供設(shè)置,STRUTS在WEB應(yīng)用部署描述符中定義這些參數(shù): ·Config——逗號(hào)相隔的應(yīng)用上下文相對(duì)的配置文件的路徑,這些配置文件包含了STRUTS WEB應(yīng)用的缺省模塊的設(shè)置。缺省值為 /WEB-INF/struts-config.xml; ·config/${module} -逗號(hào)相隔的應(yīng)用上下文相對(duì)的配置文件的路徑,這些配置文件包含了STRUTS WEB應(yīng)用的${module}模塊的設(shè)置。這個(gè)模塊的前綴是/${module},多個(gè)config/${module}參數(shù)定義了多個(gè)STRUTS WEB應(yīng)用模塊; ·convertNull - 如果這個(gè)參數(shù)的值為 true, 數(shù)值型Java 包裝類(比如java.lang.Integer)的初始值將會(huì)是null,而不是0。缺省值[false] ·rulesets-逗號(hào)相隔的附加的org.apache.commons.digester.RuleSet列表,Digester在分析配置文件時(shí),除了針對(duì)標(biāo)準(zhǔn)的配置元素的RuleSet之外,還會(huì)利用這些對(duì)象來(lái)分析配置文件,這樣提供了一個(gè)配置擴(kuò)展機(jī)制。 ·validatin - 指示我們是否使用驗(yàn)證型的XML分析器來(lái)處理配置文件,缺省值為 [true] 3.2 配置文件 我們說(shuō)STRUTS針對(duì)每個(gè)模塊可以有一個(gè)或多個(gè)配置文件,這些配置文件使用XML來(lái)書(shū)寫(xiě),下面是標(biāo)準(zhǔn)的配置文件XML的元素解釋。 3.2.1 元素 action 這個(gè)元素描述了一個(gè)ActionMapping 對(duì)象,這個(gè)對(duì)象將用來(lái)處理用戶針對(duì)某個(gè)模塊相對(duì)應(yīng)的URI 的請(qǐng)求。 ![]() 3.2.2元素 action-mappings 這個(gè)元素描述了一個(gè)ActionMapping 對(duì)象集,類型是org.apache.struts.action.ActionMapping。與STRUTS的ActionServlet 注冊(cè)的URL模式匹配的用戶請(qǐng)求將具體地被這些ActionMapping 對(duì)象處理。子元素定義了各個(gè)ActionMapping對(duì)象。 ![]() 3.2.3元素 controller 這個(gè)元素描述了一個(gè)struts模塊運(yùn)行環(huán)境的配置——ControllerConfig bean ![]() ![]() ![]() 3.2.4 元素 data-source 這個(gè)元素描述了一個(gè)DataSource 對(duì)象——JDBC 2.0 標(biāo)準(zhǔn)擴(kuò)展。這個(gè)對(duì)象將被保存在應(yīng)用上下文中,而且可以象JavaBean 一樣被設(shè)置。 ![]() 3.2.5 元素 exception 這個(gè)元素向struts系統(tǒng)為一個(gè)exception類型注冊(cè)了一個(gè)ExceptionHandler。. ![]() 3.2.6 元素 form-bean 這個(gè)元素定義了一個(gè)ActionForm[org.apache.struts.action.ActionForm子類,這個(gè)定義被"action"元素所引用。 ![]() 3.2.7 元素 form-property 這個(gè)元素描述了一個(gè)配置DynaActionForm 或其子類的JavaBean屬性。當(dāng)這個(gè)元素的父元素"form-bean" 的"type" 是 [org.apache.struts.action.DynaActionForm] 或其子類時(shí)有效。如果使用了一個(gè)定制的DynaActionForm 子類,父元素"form-bean" 的"dynamic"屬性必須設(shè)為 "true"。 ![]() 3.2.8 元素 forward 這個(gè)元素描述了一個(gè)ActionForward 對(duì)象,這個(gè)對(duì)象將被Action的doPerform返回。在代碼中一般用一個(gè)邏輯名字來(lái)引用ActionForward 對(duì)象。一個(gè)"forward" 可以用來(lái)描述全局或局部ActionForwards. 全局的 forwards對(duì)模塊內(nèi)所有的Action 對(duì)象有效,局部forwards 嵌套在 ![]() 3.2.9元素 message-resources ![]() 3.2.10元素 plug-in ![]() 3.2.11 元素 set-property ![]() |