Struts五种内置Action类区别
2008-08-07 10:23 A.M.
(1).org.apache.struts.actions.ForwardAction
ForwardAction类仅仅用于转发请求,不执行任何其他的业务操作。
<action
path="/Welcome"
type="org.apache.struts.actions.ForwardAction"
parameter="/pages/Welcome.jsp"/>
(2).org.apache.struts.actions.IncludeAction
有时需要引入一个页面或资源,这时您可以使用IncludeAction,其设定方式与ForwardAction相同,只不过它是用include的方式来调用页面或资源.
<action
path="/SomeResource"
type="org.apache.struts.actions.IncludeAction"
parameter="/path/someServlet"/>
(3).org.apache.struts.actions.DispatchAction
<action>的parameter属性是给DispatchAction使用的,你的类要继承DispatchAction类,(而不是普 通的Action类,普通Action类只会执行execute方法.)DispatchAction会根据parameter的值执行特定的方法,注意 parameter的值不要设置为execute,也不要覆盖DispatchAction中的execute(),因为DispatchAction继 承于Action,它的execute会首先执行,在execute()方法中取出parameter的值,通过java反射调用指定的方法。
<action
……
parameter="method"
……
parameter="method"这个参数就是说,在用户提交请求时取得method参数,根据method参数调用相应的方法,如 /editUser.html?method=Delete就是调用对应action中的Delete方法,这样你就可以写一个Action类处理很多的 逻辑,而不是象从前那样在一个方法里面加上若干参数,或者直接建若干个action来处理。
(4).org.apache.struts.actions.LookupDispatchAction
LookupDispatchAction类是DispatchAction的子类,在LookupDispatchAction类中也可以定义多个业务方法。通常LookupDispatchAction主要应用于在一个表单中有多个提交按钮且按钮名字(name)相同的情况下,LookupDispatchAction能根据按钮value值的不同调用不同的方法,这些按钮的名字和具体的ActionMapping的parameter属性值相对应。
(5).org.apache.struts.actions.SwitchAction
用于从一个模块转换至另一个模块,当您的应用程序分作多个模块时,一种切换模块的方法就是使用SwitchAction,它需要在请求中带两个参数,一个是prefix,用来指定模块前缀名称,一个是page,用来指定相对于模块的资源路径.
<action-mappings>
<action
path="/LoginSwitch"
type="org.apache.struts.actions.SwitchAction"/>
</action-mappings>
之后我们可以使用这样的路径与参数来请求login模块的Login.do
分享到:
相关推荐
Struts 1的核心组件之一就是内置Action,它是处理用户请求的关键部分。在这个主题中,我们将深入探讨Struts 1的Action机制及其工作原理。 首先,Action是Struts框架中的一个接口,开发者通常需要创建自定义的Action...
- **Struts1**: 在Struts1中,所有的业务逻辑和请求处理都通过单个Action类来完成。这意味着所有相关的请求都会被转发到同一个Action对象上进行处理。 - **Struts2**: Struts2中的Action更像是工厂模式下的产品,...
- **定义**:Action类是Struts 2中的核心组件之一,它负责处理用户的请求并将数据传递给视图层。 - **特点**:Action类可以使用注解或XML配置文件进行配置,这为开发人员提供了极大的灵活性。通过实现`Action`接口...
与Struts 1.x相比,Struts 2.0的Action模型更加灵活,不再强制要求Action类必须继承特定的基类或实现特定接口。 在Struts 2.0中,Action类可以完全自定义,但为了方便开发,通常我们会选择继承`...
3. `org.apache.struts2.dispatcher`:这是Struts2的核心包,其中包含Dispatcher类,它负责初始化以及调用Action的execute()方法。 4. `org.apache.struts2.impl`:扩展了XWork的核心功能,定义了StrutsActionProxy...
1. **Struts2基础**:介绍Struts2的基本概念,包括配置文件、Action类、结果类型和视图解析。 2. **OGNL表达式语言**:Struts2使用OGNL(Object-Graph Navigation Language)进行数据绑定和表达式操作,学习如何...
- **定义**:在Struts2框架中,**Action** 是用来处理客户端请求的核心类。当用户通过浏览器发送请求时,Struts2会将请求转发给相应的Action处理。 - **执行流程**: - 用户发起HTTP请求。 - 请求被Struts2的前端...
1. **Action类**:在Struts2中,Action类是业务逻辑的核心,它接收用户请求,执行相关操作,并返回结果。Action类可以被配置在struts.xml文件中,指定其对应的URL和返回的结果类型。 2. **拦截器(Interceptors)**...
《Struts In Action》是一本深入探讨Apache Struts框架的权威指南,中文完整版的提供为中文读者提供了深入了解和学习这一经典Java Web开发框架的宝贵资源。这本书详细讲解了Struts框架的核心概念、架构设计以及实际...
首先,从Action类的设计来看,Struts1要求Action类继承一个抽象基类,通常是`Action`或`ActionForm`。这意味着Action类的结构受到基类的约束,限制了其可定制性。相比之下,Struts2允许Action类实现Action接口,也...
根据提供的信息,我们可以推断出这是一本关于Struts 2框架的书籍——《Struts 2实战 Struts 2 in action 的中文版》。本书主要介绍了Struts 2框架的相关概念、工作原理以及实际应用案例等内容。接下来,我们将根据...
- 在Struts1中,Action类必须继承自`org.apache.struts.action.Action`类。 - Action类通常需要实现一个`execute`方法,该方法接收`HttpServletRequest`和`HttpServletResponse`作为参数,并返回一个表示下一步操作...
### Struts2 与 Struts1 的核心区别 #### 一、架构设计及Action实现方式 **Struts1** 在架构上要求Action类必须继承一个特定的抽象基类,这限制了开发者的灵活性,同时也意味着所有的Action都需要遵循相同的生命...
- **定义Action类**: 创建一个继承自`org.apache.struts.action.Action`的类,实现业务逻辑。Action类是模型层的一部分,负责处理用户的请求并返回结果。 - **创建ActionForm**: ActionForm用于封装用户提交的数据,...
《Struts2 in Action》是一本深入探讨Struts2框架的权威著作,中文版的发布使得更多的中国开发者能够轻松理解并掌握这一强大的MVC框架。这本书不仅提供了理论知识,还结合了实际应用,通过SampleApplication的源代码...
Struts in Action 是一本经典的技术书籍,专注于Java企业级应用开发框架Struts。这本书英文版深入浅出地讲解了如何使用Struts构建高效、可维护的Web应用程序。Struts是基于Model-View-Controller(MVC)设计模式的...
通过对比分析Struts1和Struts2的特点,我们可以更好地理解这两种框架之间的区别,并能够根据实际项目需求做出合理的选择。这对于软件开发人员来说至关重要,能够帮助他们在日常工作中更高效地解决问题。