您的位置:首页 > 编程语言 > Java开发

struts1.* 核心配置文件struts-config.xml详解

2016-01-22 09:34 239 查看
转自http://blog.chinaunix.net/uid-26863299-id-4754236.html

首先struts-config.xml是struts框架的核心配置文件,其中内嵌如下标签:

1、<struts-config></struts-config>
    这是一个主标签,struts配置文件内的所有标签都必须包含在此标签下,且仅能允许有一对该标签;
2、<display-name></display-name>该标签就是给当前配置文件进行命名
3、<description></description>  可以认为是一种注释
4、<form-beans></form-beans>  描述当前模块下的表单描述器集合,在其内部可以设置多个<form-bean></form-bean>,而每一个表单描述器又对应着一个表单类,数目最多一个;
5、<form-bean></form-bean>  用来设定表单处理类,其子元素<form-property>
       相应属性含义:
       className :用来指定与form-bean 对应的配置类,一般默认使用org.apache.struts.config.FormBeanConfig ,也可以自定义处理类,但需要继承FormBeanConfig类
       name :form-bean 的名称 ,具有唯一性
       type :form-bean 对应的类
6、<form-property> 用来设置ActionForm 的属性,该属性的名称和属性的类型与ActionForm类属性和jsp 界面上的属性一一对应;
       相应属性含义:
        className:用来指定与form-property 对应的配置类,一般默认使用org.apache.struts.config.FormPropertyConfig
,也可以自定义处理类,但需要继承FormPropertyConfig类
        name :form-property 的名称 ,具有唯一性
     
  type :form-property 属性的数据类型

        initial:指定属性的初值,如果没有设定初始值,则默认为相应数据类型的初值如是java.lang.Integer  则默认初始值为0;
7、<global-exceptions />  当前模块下的全局异常处理类集合,子元素为<exception/>
8、<exception> 配置异常处理类(红色为必须)
        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、<global-forwards>  配置全局跳转 最多一个,子元素<forward>
10、<forward>  可以配置多个
        className:指定和forward元素对应的配置类,默认为org.apache.struts.action.ActionForward
        contextRelative:如果为true,则指明使用当前上下文,路径以“/”开头,默认为false
        name:指明转发路径的唯一标识符   在action中通过该名称实现对跳转方向的调用
        path:指明转发或者重定向的URI。必须以"/"开头。具体配置要与contextRelative相应。
        redirect:为true时,执行重定向操作,否则执行请求转发。默认为false
11、<action-mappings> 定义action集合,子元素<action>  最多只有一个
12、<action>定义从特定的请求路径到相应的action类的映射  可以有多个,子元素<forward>
指定相应跳转
        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、<controller>用于配置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、<plug-in>  配置Struts插件  子元素:<set-property>
        className:指定Struts插件类.此类必须实现org.apache.struts.action.PlugIn接口
15、<set-property> 配置插件的属性
        property:插件的属性名称
        value:该名称所配置的值

注:1、上述介绍的所有标签必须按照介绍的先后顺序进行设置,否则将会报错

       2、本来要介绍一下<data-sources>标签但是在Struts1.3中已经取消了<data-sources>标签,也就是说只能在1.2版中配置,因为Apache不推荐在struts-config.xml中配置数据源。所以建议不要在struts中配置数据源,如果你用了hibernate或spring得话就可以在hibernate配置文件或spring文件配数据源如果都没用就到tomcat中配置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts