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> 2.在struts相应的配置文件上 前者如下: <action 后者如下 <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这个类.这只是在开发过程中发现的.可能二者有本质的区别,但至少目前笔者还没发现.也许是考虑到方便不同程序员的使用习惯上吧.可谓开发者良苦用心啊. |