3、STRUTS的模塊化機制

我們將講解STRUTS的相關配置,這些配置大部分與模塊化編程有關系,有些沒關系但對理解STRUTS程序有利。

3.1 ActionServlet參數

ActionServlet有好多參數可供設置,STRUTS在WEB應用部署描述符中定義這些參數:

·Config——逗號相隔的應用上下文相對的配置文件的路徑,這些配置文件包含了STRUTS WEB應用的缺省模塊的設置。缺省值為 /WEB-INF/struts-config.xml;
·config/${module} -逗號相隔的應用上下文相對的配置文件的路徑,這些配置文件包含了STRUTS WEB應用的${module}模塊的設置。這個模塊的前綴是/${module},多個config/${module}參數定義了多個STRUTS WEB應用模塊;
·convertNull - 如果這個參數的值為 true, 數值型Java 包裝類(比如java.lang.Integer)的初始值將會是null,而不是0。缺省值[false]
·rulesets-逗號相隔的附加的org.apache.commons.digester.RuleSet列表,Digester在分析配置文件時,除了針對標準的配置元素的RuleSet之外,還會利用這些對象來分析配置文件,這樣提供了一個配置擴展機制。
·validatin - 指示我們是否使用驗證型的XML分析器來處理配置文件,缺省值為 [true]

3.2 配置文件

我們說STRUTS針對每個模塊可以有一個或多個配置文件,這些配置文件使用XML來書寫,下面是標準的配置文件XML的元素解釋。

3.2.1 元素 action

這個元素描述了一個ActionMapping 對象,這個對象將用來處理用戶針對某個模塊相對應的URI 的請求。





3.2.2元素 action-mappings

這個元素描述了一個ActionMapping 對象集,類型是org.apache.struts.action.ActionMapping。與STRUTS的ActionServlet 注冊的URL模式匹配的用戶請求將具體地被這些ActionMapping 對象處理。子元素定義了各個ActionMapping對象。



3.2.3元素 controller

這個元素描述了一個struts模塊運行環境的配置——ControllerConfig bean









3.2.4 元素 data-source

這個元素描述了一個DataSource 對象——JDBC 2.0 標準擴展。這個對象將被保存在應用上下文中,而且可以象JavaBean 一樣被設置。



3.2.5 元素 exception

這個元素向struts系統為一個exception類型注冊了一個ExceptionHandler。.



3.2.6 元素 form-bean

這個元素定義了一個ActionForm[org.apache.struts.action.ActionForm子類,這個定義被"action"元素所引用。



3.2.7 元素 form-property

這個元素描述了一個配置DynaActionForm 或其子類的JavaBean屬性。當這個元素的父元素"form-bean" 的"type" 是 [org.apache.struts.action.DynaActionForm] 或其子類時有效。如果使用了一個定制的DynaActionForm 子類,父元素"form-bean" 的"dynamic"屬性必須設為 "true"。



3.2.8 元素 forward

這個元素描述了一個ActionForward 對象,這個對象將被Action的doPerform返回。在代碼中一般用一個邏輯名字來引用ActionForward 對象。一個"forward" 可以用來描述全局或局部ActionForwards. 全局的 forwards對模塊內所有的Action 對象有效,局部forwards 嵌套在 元素內,只能被相應的ActionMapping 中的Action訪問。



3.2.9元素 message-resources



3.2.10元素 plug-in



3.2.11 元素 set-property