· 2 。 <struts-config> 元素
<struts-cofnig> 元素是 Struts 配置文件的根元素,和它对应的配置类为 org.apache.struts.config.ModuleConfig 类。 <struts-config> 元素有 8 个子元素。
在 Struts 配置文件中,必须按照它的 DTD 指定的先后顺序来配置 <struts-config> 元素的各个子元素,如果颠倒了这些子元素在配置文件中的顺序,在 Struts 应用启动时就会生成 XML 解析错误。
· 3 。 <data-sources> 元素
<data-sources> 元素用来配置应用所需要的数据源。数据源负责建立和特定数据库的连接,许多数据源采用连接池机制实现,以便提高数据库访问性能。 Java 语言提供了 javax.sql.DataSource 接口,所有的数据源必须实现该接口。许多应用服务器和 Web 容器提供了内在的数据源组件,很多数据库厂商也提供了数据源的实现。
<data-sources> 元素包含零个,一个或多个 <data-source> 子元素。 <data-source> 元素用于配置特定的数据源,它可以包含多个 <set-property> 子元素。 <set-property> 元素用于设置数据源的各种属性。
<data-source> 元素的 type 属性用来指定数据源的实现类。开发者应该根据实际应用的需要来选用合适的数据源实现。
配置了数据源后,就可以在 Action 类中访问数据源。在 org.apache.struts.action.Action 类中定义了 getDataSource(HttpRequest) 方法,它用于获取数据源对象的引用。
也可以在配置文件中声明多个数据源,此时需要为每一个数据源分配唯一的 key 值,通过该值来标识特定的数据源。
· 4 。 <form-beans> 元素
<form-beans> 元素用来配置多个 ActionForm Bean 。 <form-beans> 元素包含零个或多个 <form-bean> 子元素。每个 <form-bean> 元素又包含多个属性。
<form-bean> 元素的属性
属性
|
描述
|
className
|
指定和 <form-bean> 元素对应的配置类,默认值为 org.apache.struts.config.FormBeanConfig 。如果在这里设置自定义的类,该类必须扩展 FormBeanConfig 类
|
name
|
指定该 ActionForm Bean 的唯一标识符,整个 Struts 框架用该标识符来引用这个 bean 。该属性是必需的。
|
type
|
指定 ActionForm 类的完整类名(类的报名也包含在内),该属性是必需的
|
如果配置动态 ActionForm Bean ,还必须配置 <form-bean> 元素的 <form-property> 子元素。 <form-property> 元素用来指定表单字段,它有四个属性。
<form-property> 元素的属性
属性
|
描述
|
className
|
指定和 <form-property> 元素对应的配置类,默认值为 org.apache.struts.config.FormPropertyConfig
|
initial
|
以字符串的形式设置表单字段的初始值。如果没有设置该属性,则基本类型的表单字段的默认值为 0 ,对象类型的表单字段的默认值为 null
|
name
|
指定表单字段的名字。该属性是必需的
|
type
|
指定表单字段的类型。如果表单资源为 Java 类,必须给出完整的类名。该属性是必需的。
|
· 5 。 <global-exceptions> 元素
<global-exceptions> 元素用于配置异常处理。 <global-exceptions> 元素可以包含零个或者多个 <exception> 元素。
<exception> 元素用来设置 Java 异常和异常处理类 org.apache.struts.action.ExceptionHandler 之间的映射。
<exception> 元素的属性
属性
|
描述
|
className
|
指定和 <exception> 元素对应的配置类。默认值为 org.apache.struts.config.ExceptionConfig
|
handler
|
指定异常处理类。默认值为 org.apache.struts.action.ExceptionHandler
|
key
|
指定在 Resource Bundle 中描述该异常的消息 key
|
path
|
指定当异常发生时的转发路径
|
scope
|
指定 ActionMessages 实例的存放范围,可选值包括 request 和 session ,此项的默认值为 request
|
type
|
指定所需处理的异常类的名字。此项是必需的
|
bundle
|
指定 Resource Bundle
|
· 6 。 <global-forwards> 元素
<global-forwards> 元素用来声明全局的转发关系。 <global-forwards> 元素由零个或者多个 <forward> 元素组成。 <forward> 元素用于把一个逻辑名映射到特定的 URL 。通过这种方式, Action 类或者 JSP 文件无需要指定实际的 URL ,只要指定逻辑名就能实现请求转发或者重定向,这可是减弱控制组件和视图组件之间的耦合,并且有助于维护 JSP 文件。
<forward> 元素的属性
属性
|
描述
|
className
|
和 <forward> 元素对应的配置类,默认值为 org.apache.struts.action.ActionForard
|
contextRelative
|
如果此项为 true ,表示当 path 属性以“ / ”开头时,给出的是相对于当前上下文的 URL 。此项的默认值为 false
|
name
|
转发路径的逻辑名。此项是必需的
|
path
|
指定转发或重定向的 URL 。此项是必需的,必需以“ / ”开头。当 contextRelative 属性为 false 时,表示 URL 路径相对于当前应用 (application-relative) ;当 contextRelative 属性为 true 时,表示 URL 路径相对于当前上下文 (context-relative)
|
redirect
|
当此项为 true 时,表示执行重定向操作;当此项为 false 时,表示执行请求转发操作。此项默认值为 false
|
· 7 。 <action-mappings> 元素
<action-mappings> 元素包含零个或者多个 <action> 元素。 <action> 元素描述了从特定的请求路径到相应的 Action 类的映射。
在 <action> 元素中可以包含多个 <exception> 和 <forward> 子元素,他们分别配置局部的异常处理及请求转发仅被当前的 Action 所访问。
在 <global-exceptions> 元素中定义的 <exception> 子元素代表全局的异常配置。在 <global-forwards> 元素中定义的 <forward> 子元素代表全局的请求转发。在不同位置配置 <exception> 和 <forward> 元素的语法和属性是一样的。
<action> 元素的属性
属性
|
描述
|
attribute
|
设置和 Action 关联的 ActionForm Bean 在 request 或 session 范围内的属性 key 。例如,假定 Form Bean 存在于 request 范围内,并且此项为“ myBean ”,那么 request.getAttribute(“MyBean”) 就可以返回该 Bean 的实例。此项为可选项。
|
className
|
和 <action> 元素对应的配置元素。默认值为 org.apache.struts.action.ActionMapping
|
forward
|
指定转发的 URL 路径
|
include
|
指定包含的 URL 路径
|
input
|
指定包含输入表单的 URL 路径。当表单验证失败时,将把请求转发到该 URL
|
name
|
指定和该 Action 关联的 ActionForm Bean 的名字。该名字必需在 <form-bean> 元素中定义过。此项是可选项
|
path
|
指定访问 Action 的路径,它以“ / ”开头,没有扩展名
|
parameter
|
指定 Action 的配置参数。在 Action 类的 execute() 方法中,可以调用 ActionMapping 对象的 getParameter() 方法来读取该配置参数
|
roles
|
指定允许调用该 Action 的安全角色。多个角色之间以逗号隔开。在处理请求时, RequestProcessor 会根据该配置项来决定用户是否有调用 Action 的权限
|
scope
|
指定 ActionForm Bean 的存在范围,可选值为 request 和 session 。默认值为 session
|
type
|
指定 Action 类的完整类名
|
unknown
|
如果此项为 true ,表示可以处理用户发出的所有无效的 Action URL 。默认值为 false
|
validate
|
指定是否要先调用 ActionForm Bean 的 validate() 方法。默认值为 true
|
提示: <action> 元素的 forward 、 include 和 type 属性相互排斥,也就是说只能设置其中的一项。 forward 属性的作用和 org.apache.struts.actions.ForwardAction 类相同。 Include 属性的作用和 org.apache.struts.actions.IncludeAction 类相同。
如果在 <action> 元素中定义了局部的 <forward> 元素,它的优先级别高于全局的 <forward> 元素。
<Action> 的 forward 属性和 <forward> 子元素是两个不同的概念。 Forward 属性指定和 path 属性匹配的请求转发路径。
· 8 。 <controller> 元素
<controller> 元素用于配置 ActionServlet 。
<controller> 元素的属性
属性
|
描述
|
bufferSize
|
指定上载文件的输入缓冲的大小。该属性为可选项,默认值为 4096 。
|
className
|
指定和 <controller> 元素对应的配置类。默认值为 org.apache.struts.config.ControllerConfig 。
|
contentType
|
指定响应结果的内容类型和字符编码。该属性为可选项,默认值为 text/html 。如果在 Action 和 JSP 网页中也设置了内容类型和字符编码,将会覆盖该设置
|
locale
|
指定是否把 Locale 对象保存到当前用户的 Session 中。默认值为 false
|
processorClass
|
指定负责处理请求的 Java 类的完整类名。默认值为 org.apache.struts.action.RequestProcessor 。如果把此项设置为自定义的类,那么应该保持该类扩展了 org.apache.struts.action.RequestProcessor 类
|
tempDir
|
指定处理文件上传的临时目录。如果此项没有设置,将采用 Servlet 容器为 Web 应用分配的临时工作目录
|
nochache
|
如果为 true ,在响应结果中将加入特定的头参数: Pragma , Cache-Control 和 Expires ,防止页面被存储在客户浏览器的缓存中。默认值为 false
|
如果应用包含多个子应用,可以在每个子应用的 Struts 配置文件中配置 <controller> 元素。这样,尽管这些子应用共享同一个 ActionServlet 对象,但是它们可以使用不同的 RequestProcessor 类。
· 9 。 <message-resources> 元素
<message-resources> 元素用来配置 Resource Bundle , Resource Bundle 用于存放本地化消息文本。
<message-resources> 元素的属性
属性
|
描述
|
className
|
和 <message-resources> 元素对应的配置类。默认值为 org.apache.struts.config.MessageResourcesConfig
|
factory
|
指定消息资源的工厂类。默认值为 org.apache.struts.util.PropertyMessageResourcesFactory 类
|
key
|
指定 Resource Bundle 存放在 ServletContext 对象中时采用的属性 key 。默认值为由 Globals.MESSAGES_KEY 定义的字符串常量。只允许有一个 Resource Bundle 采用默认的属性 key
|
null
|
指定 MessageResources 类如何处理未知的消息 key 。如果此项为 true ,将返回空字符串。如果此项为 false ,将返回类似“ ???global.label.missing??? ”的字符串。该属性为可选项,默认值为 true
|
parameter
|
指定 Resource Bundle 的消息资源文件名。
|
许多 Struts 客户化标签都通过 bundle 属性来指定 Resource Bundle ,标签的 bundle 属性和 <message-resources> 元素的 key 属性匹配。
· 10 。 <plug-in> 元素
<plug-in> 元素用于配置 Struts 插件。
<plug-in> 元素的属性
属性
|
描述
|
className
|
指定 Struts 插件类。插件类必需实现 org.apache.struts.action.PlugIn 接口
|
· 11 。配置多应用模块
Struts 1.1 支持多应用模块,即同一个应用包含多个子应用,每个子应用可以处理相关的一组功能。
所有的子应用都共享同一个 ActionServlet 实例,但每个子应用都有单独的配置文件。把应用划分成多个子应用模块包含一下步骤:
(1) 为每个子应用传见单独的 Struts 配置文件。
(2) 在 web.xml 的 ActionServlet 的配置代码中添加每个子应用信息。
(3) 采用 <forward> 元素或 SwitchAction 类来实现子应用之间的切换。
相关推荐
struts配置文件,用于创建springmvc与struts工程的配置文件,集合加数组获得后台的空间空间空间 空间 空间空了
以下是对“多个struts配置文件使用”这一主题的详细解析。 ### 一、Struts框架概述 Struts是一个开源的MVC(Model-View-Controller)框架,用于构建可扩展的企业级Java Web应用程序。它提供了一种结构化的方式来...
本文将深入探讨Struts配置文件的细节,包括`web.xml`和`struts-config.xml`。 首先,`web.xml`是每个Web应用程序的标准部署描述符,它是基于XML的文件,用于向Web容器(如Tomcat)提供关于应用如何运行的信息。`web...
Struts配置文件是Struts框架的核心组成部分,它定义了应用程序的行为和组件间的交互方式。配置文件基于XML格式,使得开发者可以灵活地配置ActionForm、Action、Forward等元素,以实现业务逻辑与视图的分离,增强应用...
### Struts配置文件详解 #### 一、Struts配置文件的重要性与作用 Struts框架作为Java Web开发领域中的一种流行MVC(Model-View-Controller)框架,它提供了一种结构化的方式来构建Web应用程序。在Struts框架中,`...
Struts配置文件的“分而治之”是一个重要的概念,主要应用于大型的Java Web应用程序,尤其是使用Struts框架开发的应用。这个策略的核心思想是将单一的庞大配置文件拆分为多个小的、更易于管理和维护的部分,以提高...
Struts 2的配置文件主要由两个部分组成:`struts.xml`和应用特定的配置文件(如`package`或`action`配置)。这些XML文件定义了请求如何被映射到特定的Action类,以及Action类如何与视图(JSP页面)交互。配置文件的...
Struts配置文件是该框架的核心组成部分,它定义了请求如何被处理、视图如何与控制器交互等关键信息。在这篇详尽的讲解中,我们将深入探讨Struts配置文件的关键元素和作用。 1. **struts-config.xml文件**:这是...
struts-config.xml拆分,超级简单
### Struts配置文件详解 #### 一、概述 Struts框架是Java Web开发中的一个重要工具,它使用MVC(Model-View-Controller)设计模式来组织应用逻辑,从而提高代码的可维护性和可读性。Struts框架的核心是通过两个XML...
7. **Struts配置文件:** `struts-config.xml`是Struts框架的核心配置文件,它定义了表单Bean、Action、Forward等组件。每个元素对应`org.apache.struts.config`包中的类,如`ModuleConfig`是核心类,它存储了整个...
**多个Struts配置文件**: Struts2支持多个配置文件,可以通过`<include>`标签来导入其他配置文件,这样可以使配置更加模块化,方便管理和维护。 **Action的调用方式**: Struts2支持基于注解的Action配置,可以...
### Struts2配置文件介绍 #### 一、Struts2的核心配置文件 在Struts2框架中,有多个重要的配置文件用于控制应用的行为与结构,其中最核心的是`struts.xml`文件。此外还包括`web.xml`、`struts.properties`、`...