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 嵌套在 元素內(nèi),只能被相應(yīng)的ActionMapping 中的Action訪問(wèn)。



3.2.9元素 message-resources



3.2.10元素 plug-in



3.2.11 元素 set-property