package 元素的所有属性及对应功能:
Attribute |
Required |
Description |
name |
yes |
key to for other packages to reference ---包名称,用来让别的包继承时使用不能有重复 |
extends |
no |
inherits package behavior of the package it extends -----当前包所要继承的父包,继承之后,当前包拥有父包中所定义的任意类、拦截器等 |
namespace |
no |
用于区分包中相同的类 |
abstract |
no |
declares package to be abstract (no action configurations required in package)定义当前包为一个抽象的包也就是说不能有action元素在当前包中 |
例子:
假如我有以下的配置段落
<struts>
<package name="p1" extends="struts-default">
<action name="login" class="com.example.action.Login">
<result>/success.jsp</result>
</action>
<action name="login1" class="com.example.action.Login">
<result>/success.jsp</result>
</action>
</package>
<package name="p2" extends="struts-default" namespace="/testNameSpace">
<action name="login" class="com.example.action.Login">
<result>/success.jsp</result>
</action>
</package>
</struts>
说明:
a、 包p1没有定义namespace,说明p1用的是默认空间""
现在有下面的请求:
1、/工程名/login.action
------这个请求对应p1包下的action name=login
2、/工程名/testNameSpace/login.action
-----这个请求对应p2包下的action name=login
3、/工程名/testNameSpace/login1.action
----这个请求是请求p2包下的信息的,如果struts在检索了p2包下的所有action后没有检索到当前请求的login1,这时struts会检索前一个命名空间,这里是默认空间下是否有当前请求,检查发现存在login1就得到当前检索
这里我有个个人的建议:
无论你的namespace配置或者没配置,也无论配置啥样,你在写跳转的url的时候请你也把
‘/工程名/’带上,写成这样:/工程名/命名空间1/命名空间2/actionName.action这样写能保证路径的正确性,当然如果你在写跳转的时候不发晕,可以视你的配置情况加或者不加这个!
分享到:
相关推荐
在"struts2 包 struts2 package"中,我们可以看到"struts2基本包"的提及,这通常指的是Struts2框架的基础配置包,包含了执行基本功能所需的所有设置。这个基础包可能包括了以下组件和配置: 1. **Action配置**:...
- **Interceptor**:在`package`元素内部,可以定义拦截器或引用拦截器堆栈,拦截器是Struts2中非常重要的组件,用于在Action执行前后进行一系列的前置和后置处理操作,比如登录验证、数据校验等。 - **Result ...
手动配置Struts2涉及多个步骤,下面我们将深入探讨这个过程。 首先,我们需要在项目的类路径下添加Struts2的核心库。这通常包括`struts2-core`、`struts2-convention-plugin`、`struts2-json-plugin`等依赖,它们...
例如,当你在`<struts>`元素下键入`时,Eclipse会列出所有可能的子元素,如`<bean>`, `<constant>`, `<include>`, `<package>`等。按`Alt+?`键可在当前元素内部获取属性提示,包括属性的必需性和可选值。 请注意,...
### Struts2核心配置文件详解 #### 一、概述 Struts2框架是Java Web开发领域内一个重要的轻量级框架,它简化了基于MVC(Model-View-Controller)设计模式的应用程序开发过程。在Struts2框架中,有两个核心配置文件...
### Struts2配置过滤器详解 #### 一、概述 Struts2是基于MVC模式的一个开源框架,它能够帮助开发者构建出结构清晰且易于维护的Web应用。在实际开发过程中,为了实现某些功能(例如用户认证、权限控制等),往往...
"Struts2 中 Struts.xml 配置文件详解" Struts2 中的 Struts.xml 配置文件是 Struts2 框架的核心配置文件,用于定义应用程序的行为和结构。在 Struts.xml 文件中,我们可以定义 package、action、interceptor、...
以下是对`struts2配置`的详细解释: 首先,要配置Struts2框架,你需要确保拥有正确的库文件。在Struts2.3.3版本中,除了核心库如`struts2-core-2.3.3.jar`和`xwork-core-2.3.3.jar`之外,还需要其他的依赖库,例如`...
本文将深入探讨Struts2的配置文件,特别是`struts.xml`文件中的关键元素和属性。 在Struts2中,`package`元素是核心组件,用于组织Action、拦截器等。一个包可以看作是一个模块,其中包含多个Action和拦截器。`...
### 徒手配置Struts2的关键知识点 #### 一、徒手配置Struts2环境时需注意的关键事项 ...此外,通过深入理解配置文件的每一个元素,可以帮助开发者更好地掌握Struts2的工作原理,从而提高应用程序的开发效率和质量。
本文将深入探讨Struts2配置文件的DTD(文档类型定义),以及如何使用这些配置元素。 首先,Struts2的配置文件基于DTD来解析和验证其结构。DTD是一套规则,用于定义XML文档的合法结构和元素。在Struts2中,配置文件...
这通常通过在`struts-default.xml`或自定义的配置文件中设置`<package>`元素的`namespace`和`action`属性来实现: ```xml <package name="default" namespace="/" action-alias="*"> </package> ``` 这样,所有在...
1. **package**:这是Struts2配置的基本单元,可以包含多个动作(action)、拦截器(interceptor)和结果(result)。每个package都有一个namespace,用于区分不同功能或模块。 2. **action**:定义了一个用户交互...
1. **struts.xml**:这是Struts2的主要配置文件,定义了Action、Result、Interceptor等核心元素。在这里,你可以声明Action类,指定它们对应的URL,以及设置结果类型和拦截器栈。 2. **web.xml**:在Web应用的部署...
- `result`子元素配置了Action执行后的返回页面或视图。 4. **拦截器配置** - `interceptors`元素定义了自定义拦截器或拦截器栈。 - `default-interceptor-ref`指定了包的默认拦截器,所有没有明确指定拦截器的...
在此文件中,`<package>`元素定义了一个名为"default"的包,并继承自`struts-default`。在实际项目中,可以根据需要定义多个包来组织Action。 ##### 4. 编写Action类 Action类是处理用户请求的核心组件。为了确保...
- **Action配置**:在`struts.xml`中通过`<package>`元素来组织不同的模块,每个模块中可以包含多个`<action>`元素。 ```xml <package name="default" namespace="/" extends="struts-default"> ...