1. Action的访问路径
扩展名
缺省以.action结尾,请参考:default.properties文件,可以通过配置改变这一点:
<constant name="struts.action.extension" value="action,do,webwork" /> |
上述配置,将使得可以通过.action或.do或.webwork访问Action对象
如果想改变以上后缀,在自己项目src下新建struts.properties文件,来改写后缀.
访问路径的容错能力
比如:我们配置某个package的namespace="/simple",在这个package里面有一个action的name是hello
那么,我们可以通过:
/simple/hello.action或
/simple/a/b/c/hello.action等等
都可以访问到这个action。
主要是在struts2中,对于访问的路径有一种容错能力,可以根据路径依次查找相应的package中的action
配置action时如果不指定method属性
那么,用类似下面的方式:
http://localhost/struts2/simple/hello!say.action
可以调用hello这个action中的say方法
或者用下面的方式:
http://localhost/struts2/simple/hello.action?method:say=xxx
可以调用say方法,在这里,参数的名称是:method:say,这是最主要的,struts2正是
根据参数的名称来决定该调用哪个方法,而不是参数的值,所以参数的值可以是任意的
或者用下面的方法:
http://localhost/struts2/simple/hello.action
默认调用hello这个action中的execute方法!
相关推荐
Struts1和Struts2分别是该框架的两个不同版本,它们在处理相对路径的方式上有所不同。本文将详细讲解在Struts1和Struts2中如何获取相对路径。 ### Struts1 获取相对路径的方法 在Struts1中,我们通常会用到`...
在Struts2中,Action的配置和使用方式有多种,下面将详细介绍Struts2 Action参数的详细说明。 首先,我们来看Action的配置格式。在Struts2的配置文件(通常是struts.xml)中,Action的基本配置结构如下: ```xml ...
这篇博客文章可能探讨了在使用Struts2时遇到的路径相关问题,如Action配置、结果类型、静态资源访问等。 1. **Action配置**:在Struts2中,Action是业务逻辑的核心组件。每个Action通常对应一个特定的URL,这在...
1. **Action配置**:在Struts2框架中,你需要定义一个特定的Action来处理文件下载的请求。Action类通常会包含一个方法,该方法负责准备文件并设置响应头,以指示浏览器应如何处理响应。 2. **响应头设置**:在准备...
"Struts2 注解配置 Action 及拦截器几种不同方式写法对应的路径指向" Struts2 注解配置 Action 及拦截器是 Struts2 框架中的核心组件之一,负责处理用户请求并返回响应结果。下面,我们将通过详细的解释和示例代码...
- **空字符串**:表示该namespace可以接受所有路径的Action访问。 - **单个斜杠**:如`/`表示根namespace。 - **具体路径**:如`/xxx`或`/xxx/yyy`,表示更具体的子namespace。 示例路径: - `/index.action`:访问...
Struts2通过配置文件(如struts.xml)来定义Action的映射,包括请求路径、结果类型和转发路径等。 在用户登录的场景下,我们可以将Action分为以下几类: 1. **登录验证Action**:这是最基础的Action,用于接收用户...
6. **添加Struts2库**:将下载的Struts2库(包括struts2-core等依赖库)添加到项目的类路径中。 7. **编写第一个Action**:创建一个Action类,实现你需要的业务逻辑,并指定结果页面。 8. **编写结果页面**:创建...
Struts2允许开发者使用XML或注解来配置Action、Result和其他元素。这使得配置更为灵活,减少了硬编码。 4. **拦截器(Interceptors)**: 拦截器是Struts2的一大特色,它们可以插入到Action调用链中,实现如日志...
在Struts2框架中,这种动态访问主要体现在Action类的实例化和方法调用上,极大地提高了应用的可扩展性和可维护性。下面将详细介绍Struts2动态访问方式的相关知识点。 首先,Struts2的核心是DispatcherServlet,它...
命名空间(namespace)用于组织Action,比如`/`、`/xxx`或`/xxx/yyy`,影响Action的访问路径。 4. **执行流程**:当用户发起请求时,Tomcat根据`web.xml`配置找到Struts2过滤器。过滤器处理请求,解析`struts.xml`...
Namespace在Struts2中主要用于组织和隔离Action,它决定了Action的访问路径。默认情况下,Namespace为空字符串,这意味着任何没有明确Namespace的Action都可以被全局访问。Namespace可以设置为“/”或“/xxx”或“/...
2. **全局变量(Global Variables)**:在Struts2中,全局变量通常是指在struts.xml配置文件中定义的可全局访问的对象,如常量、拦截器栈和结果类型。这些配置可以提高代码的复用性和可维护性。 3. **Action转化...
5. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为默认表达式语言,用于在Action和视图之间传递数据,支持对象属性的直接访问和动态表达式。 6. **插件体系**:Struts2支持丰富的插件,如...
- `struts.xml`:Struts2的配置文件,定义了Action、结果类型、拦截器等。 3. **lib目录**:包含所有必要的库文件,包括Struts2框架的JAR包和其他依赖库。 4. **WebContent或html目录**:存放静态资源,如HTML...
6. **OGNL(Object-Graph Navigation Language)**:Struts2内部使用OGNL作为表达式语言,它允许在Action与视图之间传递数据,如在JSP中直接访问Action属性。例如,`${user.name}`可以获取UserAction中的name属性值...
在传统的Struts2配置中,一个Action通常对应一个方法,通过URL路径与Action名进行绑定。然而,当业务需求变得复杂时,这样的设计可能不够灵活。`method`属性的引入,使得我们可以根据用户请求中的参数来决定执行哪个...
在"STRUTS2学习实例8"中,你可能将学习如何创建一个完整的Struts2应用,包括定义Action,配置struts.xml,使用拦截器,以及构建视图。文件名"eight"可能指的是第8个步骤或示例,具体的学习内容可能涉及更复杂的功能...
url: "/struts2Action", // Struts2 action路径 contentType: "application/json; charset=utf-8", data: JSON.stringify(data), dataType: "json", success: function(response) { console.log("数据已成功...
- 访问Struts2官网:https://struts.apache.org/ 下载最新版本的Struts2开发包。 2. **解压Struts2开发包** - 解压后的目录结构如下: * `apps`: 包含一些示例项目。 * `docs`: 开发文档。 * `lib`: 所需的jar...