首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

struts1的DispatchAction种

2012-08-26 
struts1的DispatchAction类DispatchAction类用于分发的Action,主要的好处是把一些功能类似的Action放到一

struts1的DispatchAction类

DispatchAction类用于分发的Action,主要的好处是把一些功能类似的Action放到一个Action中,通过传入的不同参数来觉得执行哪个操作.
????DispatchAction类是一个抽象类,它实现了父类(Action)的execute()方法,所以它的子类就不用来实现这个方法了,只需要专注与实际操作的方法。

1.首先要一个DispatchAction的子类,

public?class?AccountAction?extends?DispatchAction?{
????public?ActionForward?login(ActionMapping?mapping,
??????????????????????????????ActionForm?form,
??????????????????????????????HttpServletRequest?request,
??????????????????????????????HttpServletResponse?response)
????throws?Exception?{
????????//?進行一些Login的邏輯
??????????????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>?
?这里需要注意的就是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>?



????这里要注意几点,首先??后面的KEY要和struts-config.xml中的parameter相同,还有它的VALUE要是你在action的一个方法名字,这里方法名为login,?那么在程序运行时就是调用login的操作,如果是logout,那程序就调用logout的操作.

热点排行