下面的图则显现了这几个组件包之间的关系。其中action是整个struts 架构的核心。
Struts简介(3)
时间:2010-12-08
三、Struts 配置与组件介绍
有关struts组件配置struts-config.xml文件说明在前面的文章中已经介绍过,这里就不再说了,下面主要介绍框架中组件与配置。
下表列出了Struts的核心类,即对应的经典的MVC组件职责。
表格2 核心Struts 类和MVC 的对应
类 |
描述 |
ActionForward |
用户指向或者视图选择 |
ActionForm |
状态改变的数据 |
ActionMapping |
状态改变事件 |
ActionServlet |
控制器,接受用户请求和状态改变,以及发出视图选择 |
Action |
控制器的一部分,于模型交互,执行状态改变或状态查询,以及告诉ActionServlet 下一个选择的视图 |
除了这些核心类, Struts 使用一些配置文件和视图助手(view helpers)来沟通控制器和模型。下表列出了Struts 配置文件和描述了他们在架构中的角色。
表格3 Strtuts 配置文件
文件 |
目的 |
ApplicationResources.properties |
存储本地化信息和标签,以使应用可以国际化 |
struts-config.xml |
存储控制器对象的缺省配置,包括模型支持的用户指向,状态改变,状态查询 |
为将Struts配置数据暴露给视图,框架以JSP标签的形式提供了大量的助手类,如表4 Strtus 视图助手。
标记库描述符 |
目的 |
struts-html.tld |
扩展HTML Form的JSP标记 |
struts-bean.tld |
扩展处理JavaBean的JSP标记 |
struts-logic.tld |
扩展测试属性值的JSP标记 |
控制器组件的配置
框架中的控制器组件是有org.apache.struts.action.ActionServlet类实现的,这个类是javax.servlet.http.HttpServlet类的扩展。
ActionServlet配置:
我们需要在web.xml中声明ActionServlet,并且将它配置成启动时进行加载。以下为可以配置的初始化参数:
参数 |
默认值 |
描述 |
application |
Null |
应用程序的资源集合的类 |
bufferSize |
4096 |
文件上传的缓冲区大小 |
config |
/WEB-INF/struts-config.xml |
配置文件的位置和名称 |
content |
Text/html |
默认的内容类型 |
debug |
0 |
程序调试的级别 |
detail |
0 |
程序调试细节的级别 |
factory |
Null |
消息资源工厂,用于国际化中解释消息资源 |
formBean |
org.apache.struts.action.ActionFormBean |
封装ActionForm bean信息的类的名称 |
forward |
Org.apache.struts.action.ActionForward |
封装ActionForward对象信息的类的名称 |
locale |
True |
为true,将在用户会话中存储一个本地对象 |
mapping |
Org.apache.struts.action.ActionForward |
封装ActionMapping信息的类的名称 |
maxFileSize |
250M |
上传文件的最大尺寸 |
multipartClass |
Org.apache.struts.action.ActionForward |
处理多部分请求的类的名称 |
noCache |
False |
HTTP标头是否要设置为禁止缓寸 |
Null |
True |
设置为true,对于无效的信息关键字将返回null |
tempDir |
作为一个servlet参数提供给程序的工作目录 |
处理下载文件是使用的临时工作目录 |
validate |
True |
是否使用新格式的配置文件 |
vallidating |
True |
是否对配置文件进行有效性分析 |
|