您的位置:首页 > 移动开发

MappingDispatchAction与DispatchAction用法上的一点区别

2010-09-09 15:33 369 查看
1.在jsp页面上

前者如下:

<li><a href="./deptAction.do">dept</a></li>

<li><a href="./deptAction.do">dept2</a></li>

后者如下:

<li><a href="./deptAction.do?method=deptPage">dept</a></li>
<li><a href="./deptAction.do?method=deptPage2">dept2</a></li>

2.在struts相应的配置文件上

前者如下:

<action
attribute="deptActionForm"
name="deptActionForm"
path="/deptAction"
parameter="deptPage"
scope="request"
type="org.kingtoon.action.DeptAction"
validate="false">
<forward name="dept" path="/dept.jsp"></forward>
</action>

<action
attribute="deptActionForm"
name="deptActionForm"
path="/deptAction"
parameter="deptPage2"
scope="request"
type="org.kingtoon.action.DeptAction"
validate="false">
<forward name="dept" path="/dept.jsp"></forward>
</action>

后者如下

<action
attribute="deptActionForm"
name="deptActionForm"
path="/deptAction"
parameter="method"
scope="request"
type="org.kingtoon.action.DeptAction"
validate="false">
<forward name="dept" path="/dept.jsp"></forward>
</action>

Action和对应的ActionForm都一样.

为了进一步了解二者的区别,我试着将DispatchAction的用法移植到MappingDispatchAction上,结果出错,信息如下:javax.servlet.ServletException: java.lang.NoSuchMethodException: org.itfuture.www.action.DeptAction.method(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)

提示你找不到method方法,很显然,将参数值method当成方法了,进而可以得之:MappingDispatchAction的配置文件里的 parameter的值只能是具体的方法.

由此可看出两者在实现功能上没什么区别,所以笔者目前还不清楚为什么要推出MappingDispatchAction这个类.这只是在开发过程中发现的.可能二者有本质的区别,但至少目前笔者还没发现.也许是考虑到方便不同程序员的使用习惯上吧.可谓开发者良苦用心啊.

from:http://hi.baidu.com/kingtoon_go/blog/item/a1a19725338b9a6335a80f79.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: