来看一个例子,例如有一个CrudAction, 其中有两个方法,input 和 delete,我们定义两个action:Crud_input和Crud_delete。我们可以在struts.xml中配置如下:
xml 代码:
<action name="Crud_*" class="example.Crud" method="{1}">
这样,当struts2遇到Crud_input时,就会自动去找Crud的input方法,当遇到Crud_delete时,就会自动去找Crud的delete方法。
见另一个例子:
xml代码:
<action name="*Crud" class="example.Crud" method="{1}">
这里,当struts2解析到editCrud时,就会自动去找Crud的edit方法。
按我的理解,method="{1}"的意思就是告诉struts2去找前面*中出现的方法并执行,{1}代表第一个通配符的值。
例如:当访问的url为:abcCrud时,method=“abc”。
又如:
xml 代码
<action
name="/edit*"
class="org.apache.struts.webapp.example.Edit{0}Action">
<result
name="failure"
path="/mainMenu.jsp"/>
<result
path="/{0}.jsp"/>
</action>
注意:配置<result.../>元素时可以使用OGNL表达式:${属性名.属性名.属性名},允许让请求参数来决定结果,这是与class属性和method属性的区别。
注意执行顺序:如果有URL为abcAction.action的请求,如果struts.xml文件中有名为abcAction的Action,则一定由该Action来处理用户请求;如果struts.xml文件中没有名为abcAction的Action,则搜寻name属性值匹配abcAction的Action,例如name为*Action或*,*Action并不会比*更优先匹配abcAction的请求,而是先找到哪个Action,就先由哪个Action来处理用户请求。所以一般将那么为*的Action放到配置的最后。
分享到:
相关推荐
这可以通过Action的通配符配置实现,例如`*{username}`,其中`username`是请求参数,Struts2会根据这个参数值来查找对应的Action。 六、Action的属性接收参数 Action可以直接通过成员变量接收请求参数,只需在...
Struts2是一个强大的MVC(Model-...以上是Struts2学习笔记的主要内容,涵盖了Struts2的基本架构、核心概念以及常用配置。通过深入理解和熟练掌握这些知识点,开发者能够有效地利用Struts2框架构建健壮的Web应用程序。
**八、Action通配符配置** 通配符配置允许使用星号(*)作为Action名称的一部分,例如`*.{method}`,这样可以为一类Action设置通用的配置,提高代码复用。 **九、Action的属性接收参数** Struts2可以通过Action的成员...
本课程笔记主要涵盖了Struts2的基础概念、核心功能及其工作流程。 首先,Struts2的处理流程是通过一系列的组件协作完成的,包括Filter Dispatcher(过滤器调度器)、Action、Interceptor(拦截器)和Result。当用户...
本篇学习笔记将深入探讨Struts2.0的核心概念和配置,帮助你理解和掌握这个框架。 **一、Struts2的作用** Struts2的主要目标是提供一种结构化的开发方式,它整合了请求处理、视图展示和业务逻辑的交互。通过使用...
### Struts2.1 学习笔记知识点梳理 #### 一、Struts.xml中的Namespace概念与作用 **知识点概述:** - **Namespace介绍**:在Struts2框架中,`namespace`是一个重要的概念,用于组织和管理不同的Action,提供了一种...
Struts2是一个流行的Java Web应用程序框架,用于构建...以上就是Struts2课程学习笔记中的主要知识点,涵盖了从基础配置到高级特性的多个方面。理解和掌握这些内容,有助于深入学习和使用Struts2框架进行Java Web开发。
3. **Action名称解析**:Struts2会尝试将Action名称映射到具体的Action类。Action名称可以通过`<action>`标签的`name`属性指定,也可以通过`default-action-ref`属性设置默认Action。 4. **结果类型与结果配置**:...
要开始使用Struts2,首先需要在项目中引入Struts2的库文件,如struts2-core.jar。接着配置web.xml,声明Struts2的前端控制器Servlet。最后,创建相应的Action类和配置文件(struts.xml或struts-config.xml)。 三、...
2. **通配符映射**: Struts2支持使用通配符来映射Action。例如,使用星号(*)可以匹配任意字符串,这使得Action能够处理多个不同的请求。这种映射方式增强了Action的灵活性,减少了配置文件的复杂性。 3. **值栈的...
8. **Action通配符配置**: 使用通配符配置,如`*`,可以在一个Action配置中匹配多个ActionName,简化配置文件,例如`*.{method}.action`可以匹配所有以指定方法结尾的Action。 9. **Action的属性接收参数**: - ...
- **Struts配置文件**(`struts.xml`)用于定义Action类及其映射关系。 - **示例**:在`struts.xml`文件中配置`HelloWorldAction`的映射。 ```xml <package name="default" namespace="/" extends="struts-default"> ...
### Java框架学习笔记 #### 第一章:框架技术概述 - **SSH框架组合**:SSH是Struts + Spring + Hibernate的简称,这三个框架在Java Web应用开发中非常常见,它们各自解决了不同的问题,并且能够很好地协同工作。 ...
- 使用通配符如`<action name="*_*" method="{2}" class="{1}">`,根据请求的URL自动映射到Action方法。 10. **默认Action配置**: - 通过`<default-action-ref name="simpleViewResultAction">`可以定义一个默认...
### Java学习笔记知识点详解 #### 一、Java基础知识概述 Java是一种广泛使用的面向对象的编程语言,具有简单性、面向对象、健壮性、安全性、平台独立性、可移植性等特点。Java的基本知识包括以下几个方面: 1. **...