struts1.* 核心配置文件struts-config.xml详解
首先struts-config.xml是struts框架的核心配置文件,其中内嵌如下标签:
1、
这是一个主标签,struts配置文件内的所有标签都必须包含在此标签下,且仅能允许有一对该标签;
2、
该标签就是给当前配置文件进行命名
3、
可以认为是一种注释
4、
描述当前模块下的表单描述器集合,在其内部可以设置多个
,而每一个表单描述器又对应着一个表单类,数目最多一个;
5、
用来设定表单处理类,其子元素
相应属性含义:
className :用来指定与form-bean 对应的配置类,一般默认使用org.apache.struts.config.FormBeanConfig ,也可以自定义处理类,但需要继承FormBeanConfig类
name :form-bean 的名称 ,具有唯一性
type :form-bean 对应的类
6、 用来设置ActionForm 的属性,该属性的名称和属性的类型与ActionForm类属性和jsp 界面上的属性一一对应;
相应属性含义:
className:用来指定与form-property 对应的配置类,一般默认使用org.apache.struts.config.FormPropertyConfig ,也可以自定义处理类,但需要继承FormPropertyConfig类
name :form-property 的名称 ,具有唯一性
type :form-property 属性的数据类型
initial:指定属性的初值,如果没有设定初始值,则默认为相应数据类型的初值如是java.lang.Integer 则默认初始值为0;
7、 当前模块下的全局异常处理类集合,子元素为
8、 配置异常处理类(红色为必须)
className:指定对应exception的配置类,默认为org.apache.struts.config.ExceptionConfig
handler:指定异常处理类,默认为org.apache.struts.action.ExceptionHandler
key:指定在Resource Bundle种描述该异常的消息key
path:指定当发生异常时,进行转发的路径
scope:指定ActionMessage实例存放的范围,默认为request,另外一个可选值是session
type:必须要有!指定所需要处理异常类的名字。
bundle:指定资源绑定
9、 配置全局跳转 最多一个,子元素
10、 可以配置多个
className:指定和forward元素对应的配置类,默认为org.apache.struts.action.ActionForward
contextRelative:如果为true,则指明使用当前上下文,路径以“/”开头,默认为false
name:指明转发路径的唯一标识符 在action中通过该名称实现对跳转方向的调用
path:指明转发或者重定向的URI。必须以"/"开头。具体配置要与contextRelative相应。
redirect:为true时,执行重定向操作,否则执行请求转发。默认为false
11、 定义action集合,子元素 最多只有一个
12、定义从特定的请求路径到相应的action类的映射 可以有多个,子元素 指定相应跳转
attribute:制定与当前Action相关联的ActionForm Bean在request和session范围内的名称(key)
className:与Action元素对应的配置类。默认为org.apache.struts.action.ActionMapping
forward:指名转发的URL路径
input:指名包含输入表单的URL路径,表单验证失败时,请求会被转发到该URL
name:指定和当前Acion关联的ActionForm Bean的名字。该名称必须在form-bean元素中定义过。
path:指定访问Action的路径,以"/"开头,没有扩展名
parameter:为当前的Action配置参数,可以在Action的execute()方法中,通过调用ActionMapping的getParameter()方法来获取参数
roles:指定允许调用该Aciton的安全角色。多个角色之间用逗号分割。处理请求时,RequestProcessor会根据该配置项来决定用户是否有调用该Action的权限
scope:指定ActionForm Bean的存在范围,可选值为request和session。默认为sessi
type:指定Action类的完整类名
unknown:值为true时,表示可以处理用户发出的所有无效的Action URL。默认为f
validate:指定是否要先调用ActionForm Bean的validate()方法。默认为true
注意:如上属性中,forward/include/type三者相斥,即三者在同一Action配置中只能存在一个。
13、用于配置ActionServlet
bufferSize:指定上传文件的输入缓冲的大小.默认为4096
className:指定当前控制器的配置类.默认为org.apache.struts.config.ControllerConfig
contentType:指定相应结果的内容类型和字符编码
locale:指定是否把Locale对象保存到当前用户的session中,默认为false
processorClass:指定负责处理请求的Java类的完整类名.默认org.apache.struts.action.RequestProcessor
tempDir:指定文件上传时的临时工作目录.如果没有设置,将才用Servlet容器为web应用分配的临时工作目录.
nocache:true时,在相应结果中加入特定的头参数:Pragma
,Cache-Control,Expires防止页面被存储在可数浏览器的缓存中,默认为false
14、 配置Struts插件 子元素:
className:指定Struts插件类.此类必须实现org.apache.struts.action.PlugIn接口
15、 配置插件的属性
property:插件的属性名称
value:该名称所配置的值
注:1、上述介绍的所有标签必须按照介绍的先后顺序进行设置,否则将会报错
2、本来要介绍一下标签但是在Struts1.3中已经取消了标签,也就是说只能在1.2版中配置,因为Apache不推荐在struts-config.xml中配置数据源。所以建议不要在struts中配置数据源,如果你用了hibernate或spring得话就可以在hibernate配置文件或spring文件配数据源如果都没用就到tomcat中配置
阅读(16043) | 评论(1) | 转发(0) |