首页 > 学院 > 开发设计 > 正文

Struts模块化编程经典实战教程(二)

2019-11-18 12:55:44
字体:
来源:转载
供稿:网友

  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 的请求。
  
 Struts模块化编程经典实战教程(二)(图一)

  3.2.2元素 action-mappings
  
  这个元素描述了一个ActionMapping 对象集,类型是org.apache.struts.action.ActionMapping。与STRUTS的ActionServlet 注册的URL模式匹配的用户请求将具体地被这些ActionMapping 对象处理。子元素定义了各个ActionMapping对象。
  
 Struts模块化编程经典实战教程(二)(图二)

  3.2.3元素 controller
  
  这个元素描述了一个struts模块运行环境的配置——ControllerConfig bean
  
 Struts模块化编程经典实战教程(二)(图三)

  
 Struts模块化编程经典实战教程(二)(图四)

  
 Struts模块化编程经典实战教程(二)(图五)

  3.2.4 元素 data-source
  
  这个元素描述了一个DataSource 对象——JDBC 2.0 标准扩展。这个对象将被保存在应用上下文中,而且可以象JavaBean 一样被设置。
  
 Struts模块化编程经典实战教程(二)(图六)

  3.2.5 元素 exception
  
  这个元素向struts系统为一个exception类型注册了一个ExceptionHandler。.
  
 Struts模块化编程经典实战教程(二)(图七)

  3.2.6 元素 form-bean
  
  这个元素定义了一个ActionForm[org.apache.struts.action.ActionForm子类,这个定义被"action"元素所引用。
  
 Struts模块化编程经典实战教程(二)(图八)

  3.2.7 元素 form-PRoperty
  
  这个元素描述了一个配置DynaActionForm 或其子类的JavaBean属性。当这个元素的父元素"form-bean" 的"type" 是 [org.apache.struts.action.DynaActionForm] 或其子类时有效。假如使用了一个定制的DynaActionForm 子类,父元素"form-bean" 的"dynamic"属性必须设为 "true"。
  
 Struts模块化编程经典实战教程(二)(图九)

  3.2.8 元素 forward
  
  这个元素描述了一个ActionForward 对象,这个对象将被Action的doPerform返回。在代码中一般用一个逻辑名字来引用ActionForward 对象。一个"forward" 可以用来描述全局或局部ActionForwards. 全局的 forwards对模块内所有的Action 对象有效,局部forwards 嵌套在 元素内,只能被相应的ActionMapping 中的Action访问。
  
 Struts模块化编程经典实战教程(二)(图十)

  3.2.9元素 message-resources
  
 Struts模块化编程经典实战教程(二)(图十)

  3.2.10元素 plug-in
  
 Struts模块化编程经典实战教程(二)(图十二)

  3.2.11 元素 set-property
  
Struts模块化编程经典实战教程(二)(图十三)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表