日期:2014-05-18  浏览次数:20674 次

action的一点疑惑!
看别人的程序!使用struts框架但是和我使用的struts的action不同!
请问这种action是什么意思?
为什么不是excute(...)这种!
public   ActionForward   init(ActionMapping   actionMapping,   ActionForm   actionForm,   HttpServletRequest   httpServletRequest,   HttpServletResponse   httpServletResponse)
        {
                return   actionMapping.findForward( "a ");
        }

        public   ActionForward   queryabc(ActionMapping   actionMapping,   ActionForm   actionForm,   HttpServletRequest   httpServletRequest,   HttpServletResponse   httpServletResponse)
                throws   Exception
        {
  return   actionMapping.findForward( "b ");
        }

------解决方案--------------------
actionName!methodName.do
---> 找到action---> 找到action里叫methodName的方法,然后执行。。

BTW,没见过带这种参数的action在URL里有加“!”。。。
------解决方案--------------------
自定义的dispatch的
------解决方案--------------------
这种一般都是有个baseaction,里面封装了一些基础方法。其他的action只要继承这个baseaction就可以了。
所以你看到的写法跟一般的不一样。
------解决方案--------------------

给大家介绍个技术群

大家一起学习,一起提高

26343309
------解决方案--------------------
这种做法继承的是org.apache.struts.actions.DispatchAction
在xml中定义Action的dispatch参数,提交时,指定form的dispatch,就可以执行Action里相对应的函数

估计你的是继承Action类,相应的要在excute中写参数导向不同函数吧