Struts 2的DispatchAction功能例题
在Struts 2中,所有的动作(action)都默认带有DispatchAction功能。要使用此功能,我们只需创建与execute方法类似,只有名称改变的方法。
在UserAction类中包含所有和用户有关联的功能,比如:addUser(), updateUser()和deleteUser()。
- package vaannila;
- import com.opensymphony.xwork2.ActionSupport;
- public class UserAction extends ActionSupport{
- private String message;
- public String execute()
- {
- message = "Inside execute method";
- return SUCCESS;
- }
- public String add()
- {
- message = "Inside add method";
- return SUCCESS;
- }
- public String update()
- {
- message = "Inside update method";
- return SUCCESS;
- }
- public String delete()
- {
- message = "Inside delete method";
- return SUCCESS;
- }
- public String getMessage() {
- return message;
- }
- public void setMessage(String message) {
- this.message = message;
- }
- }
我们需要指定动作(action)映射,在动作(action)类中的哪个方法被调用。在动作(action)类中,需要为单独的动作(action)映射创建相应的方法。下面是struts.xml文件中的动作(action)映射:
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <package name="default" extends="struts-default">
- <action name="User" class="vaannila.UserAction">
- <result name="success">/success.jsp</result>
- </action>
- <action name="addUser" method="add" class="vaannila.UserAction">
- <result name="success">/success.jsp</result>
- </action>
- <action name="updateUser" method="update" class="vaannila.UserAction">
- <result name="success">/success.jsp</result>
- </action>
- <action name="deleteUser" method="delete" class="vaannila.UserAction">
- <result name="success">/success.jsp</result>
- </action>
- </package>
- </struts>
需要注意的是在所有的动作(action)映射中使用的是同一个动作(action)类。当请求URL是"User",那么UserAction类中的execute()方法将被调用。当请求URL是"addUser",那么UserAction类中的add()方法将被调用。使用action标签的method属性进行设置。update和delete的请求都是类似的。
在动作(action)类,为每个单独的动作(action)映射设置方法,在Struts 2中的另外一个特性动态方法调用(Dynamic Method Invocation)也可以实现。在下一篇中我们将说明如何使用它。
在index.jsp页面中,我们创建了四个不同的按钮来调用不同的方法。下面是index.jsp的内容:
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <%@taglib uri="/struts-tags" prefix="s" %>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Insert title here</title>
- </head>
- <body>
- <s:form action="User" >
- <s:submit />
- <s:submit action="addUser" value="Add" />
- <s:submit action="updateUser" value="Update" />
- <s:submit action="deleteUser" value="Delete" />
- </s:form>
- </body>
- </html>
下面是运行的结果。
当用户点击Add按钮,UserAction类中的addUser()方法将被执行,并将结果显示给用户。
相关推荐
2. **配置struts-config.xml**:在Struts的配置文件中,为DispatchAction创建ActionMapping,并设置`parameter`属性为请求参数,用于区分不同的业务方法。 ```xml ``` 3. **发起请求**:用户通过URL来触发不同...
使用DispatchAction的另一个优点是,它可以结合Struts的国际化和主题功能,为不同的用户群体提供定制的视图。此外,通过将Action类中的方法组织成逻辑相关的组,可以更方便地进行权限控制和事务管理。 然而,需要...
总结,通过结合Struts的DispatchAction和存储过程,我们可以高效地实现分页功能,优化性能并提供良好的用户体验。这种方案减少了服务器与数据库之间的交互次数,降低了网络延迟,同时存储过程的预编译特性也有助于...
2. **实现DispatchAction**:接下来,你需要创建一个继承自`org.apache.struts.actions.DispatchAction`的类。例如,我们可以创建`YourDispatchAction.java`: ```java public class YourDispatchAction extends ...
03Struts2常用标签&DispatchAction.rar03Struts2常用标签&DispatchAction.rar03Struts2常用标签&DispatchAction.rar03Struts2常用标签&DispatchAction.rar
最近自学java中的框架-struts写了一些小例子,这都是很经典的程序,如果大家瞧得起要下载去看看,顺便给俺找找不足的地方。我的qq 821865130 email qingtian_hechen@163.com 希望大家能多多给我帮助。在此谢谢各位!...
Struts框架是Java Web开发中一个非常重要的MVC(Model-View-Controller)...尽管这种方法在某些场景下是有效的,但随着Struts框架的发展,现在有更好的实践方式来实现相同的功能,比如使用Struts 2的注解和拦截器机制。
Struts1中怎样实现DispatchAction配置多个input属性\Struts1中怎样实现DispatchAction配置多个input属性
在本项目中,我们关注的是"Struts+Oracle实现DispatchAction类",这是一个将Struts框架与Oracle数据库结合使用,以实现业务逻辑处理的例子。 DispatchAction是Struts框架中的一个关键组件,它扮演着控制器的角色,...
2. **DispatchAction的使用**: - **配置Action**:在struts-config.xml中,我们需要定义DispatchAction,指定其对应的类以及各个请求参数与方法的映射关系。例如: ```xml <param name="operation">add `...
解决Struts1.x中使用Validator框架对DispatchAction不同方法使用不同的字段验证 你可以先参看我的blog文章:http://blog.csdn.net/qjyong/archive/2008/11/16/3311688.aspx 再决定是否下载。
在Struts框架中,`DispatchAction`和`MappingDispatchAction`是两种常见的控制器组件,用于处理用户请求。它们是Action接口的实现类,主要用于映射HTTP请求到特定的方法,从而实现业务逻辑的分发。 首先,让我们...
### Struts2范例教程:深入理解MVC与框架组件 ...通过以上步骤,我们可以看到Struts2框架不仅简化了MVC模式的实现,还提供了丰富的配置选项和强大的功能支持,使得Web应用的开发变得更加高效和便捷。
2. **配置Struts-config.xml**:接下来,在`struts-config.xml`配置文件中,为`DispatchAction`创建一个或者多个配置项,每个配置项对应一个请求。在`<action>`元素中,使用`parameter`属性指定区分不同业务的方法的...
Struts2是Struts1的升级版,它基于MVC设计模式,旨在简化Web应用的开发过程,提供更为灵活和强大的功能。相比于Struts1,Struts2在架构上更加清晰,组件更加模块化,支持更丰富的插件体系,以及更好的国际化支持。 ...
Struts2是其第二代版本,提供了更强大的功能和更好的灵活性,使得开发更加高效。 在进行Struts2框架的简单搭建时,首先我们需要确保开发环境已经准备就绪。这包括安装Java Development Kit (JDK)、集成开发环境(如...
### Struts2框架详解:从经典MVC到现代Web应用 #### 经典MVC模式与Struts2的关系 在探讨Struts2之前,我们首先理解MVC(Model-View-Controller)模式的重要性。MVC是一种软件架构模式,用于简化复杂的应用程序开发...
import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.DispatchAction等缺少