社区
Web 开发
帖子详情
在struts中DispatchAction的使用方法?最好有实例代码!
zuoguodang
2008-04-17 09:45:17
如题,到底对开发的时候,有什么好处么
...全文
205
6
打赏
收藏
在struts中DispatchAction的使用方法?最好有实例代码!
如题,到底对开发的时候,有什么好处么
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
小南瓜瓜
2008-04-17
打赏
举报
回复
不使用dispatchAction也可以实现的,但是要从页面上传参数,其实都是一样的原理
vbjava_zym
2008-04-17
打赏
举报
回复
同一个模块下 为了 更清晰的 把所有的功能都 整和到一起 所以可以用到它 只不过用的时候要指向一个方法在 config 中加上一个参数
firebird44
2008-04-17
打赏
举报
回复
DispatchAction 继承与Action
可以减少Action数量,使程序清晰,简洁
yangxiao_jiang
2008-04-17
打赏
举报
回复
DispatchAction是struts里面使用的,你一般不会使用这个的。
这个是能根据你的forward的路径,进行dispatch
bobor_2008
2008-04-17
打赏
举报
回复
DispatchAction类是一个抽象类,它实现了父类(Action)的execute()方法,所以它的子类就不用来实现这个方法了,只需要专注与实际操作的方法,
1.首先要一个DispatchAction的子类,它含有一些方法,login,logout,method1,
package examples;
package examples;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.actions.*;
public class AccountAction extends DispatchAction {
public ActionForward login(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
// 進行一些Login的邏輯
return mapping.findForward("success");
}
public ActionForward logout(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
// 進行一些Logout的邏輯
return mapping.findForward("success1");
}
public ActionForward method1(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
// 進行一些method1的邏輯
return mapping.findForward("success");
}
}
一定要注意在DispatchAction中你想执行的操作,都必须要有统一的参数(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response),是一个规定.
2.接下来是配置struts-config.xml
<action path="/login" type="examples.AccountAction"
name="logonForm"
scope="request"
parameter="action"
input="/pages/dispatch1.jsp">
<forward name="success" path="/pages/success.jsp" />
</action>
<action path="/logout" type="examples.AccountAction"
name="logonForm"
scope="request"
parameter="action"
input="/pages/dispatch1.jsp">
<forward name="success1" path="/pages/success1.jsp" />
</action>
这里需要注意的就是parameter属性的值,因为这个值要和页面传来的参数对应.
3.再来看看JSP页 pages/dispatch1.jsp
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<html:link href="/DispathActionTest/login.do?action=login">login</html:link><br>
<html:link href="/DispathActionTest/logout.do?action=logout">logout</html:link>
这里要注意几点,首先 ?后面的KEY要和struts-config.xml中的parameter相同,还有它的VALUE要是你在action的一个方法名字,这里方法名为login, 那么在程序运行时就是调用login的操作,如果是logout,那程序就调用logout的操作.
zuoguodang
2008-04-17
打赏
举报
回复
快点回答啊
Struts
心得—
Dispatch
Action
使用
日记
Struts
1.1发布了这么长时间了,我才刚刚开始系统地学习
Struts
的相关知识,经过前一阵潜心研究,对
Struts
1.1
中
已有的类
Dispatch
Action
有了进一步的认识。我将在这里总结一下,希望能对大家有所帮助。在1.0版本
中
我们通常都是用execute
方法
来完成我们对业务逻辑的处理及页面的转发。通常在一个
Action
中
我们都只能够完成一种业务逻辑的操作。如果要是完成多个业务逻辑(比如:
Struts
框架
中
Dispatch
Action
与Mapping
Dispatch
Action
详解
Struts
是 Apache 基金会旗下的一个开源项目,专为简化 Java Web 应用的开发而设计。它基于经典的 MVC(Model-View-Controller)架构模式,将业务逻辑、用户界面和流程控制解耦,提升了
代码
的可维护性与可扩展性。其核心组件包括
Action
Servlet(控制器
中
枢)、
Action
Form(数据封装)、
Action
(业务控制器)和 JSP(视图展示),共同构成了一个结构清晰、易于扩展的开发框架。
Struts
:
使用
Dispatch
Action
您为每一个动作撰写一个
Action
类,随著网站的增大,维护
Action
的成本也就随著增大,您可以
使用
模组化程式 来管理,而另一方面,在检视一些
Action
时,您会发现某些
Action
所执行的,其实是完成一个业务逻辑所需要的连续动作或相关动作,例如帐号的登 入、登出等动作。在
Struts
中
,您可以
使用
org.apache.
struts
.
action
s.
Dispatch
Action
类别将完成一个业务
Struts
源码阅读——三个常用的辅助类
Dispatch
Action
action
>举个例子,如果我们有一个Calc
Action
类,它包含了addsubtractmultiply和divide函数,我们可以通过以下方式在
中
为每个函数定义一个路径:在这个配置
中
,每个<
action
>元素对应了Calc
Action
中
的一个函数,parameter属性指定了要调用的控制函数的名称。
struts
中
Dispatch
Action
的
使用
第一种例如:类Login
Action
继承Dispach
Action
,: public class Login
Action
extends
Dispatch
Action
{ public
Action
Forward loginValidate(
Action
Mapping mapping,
Action
Form form,
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章