在这两种框架整合时,我采用了dispatchaction,但是提示找不到参数指定的方法23:24:17,281 ERROR DispatchAction:257 - Action[/user] does not contain method named 'login'
java.lang.NoSuchMethodException: com.tony.biz.actions.UserAction.login(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
at java.lang.Class.getMethod(Class.java:1605)
at org.apache.struts.actions.DispatchAction.getMethod(DispatchAction.java:348)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:252)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
如:
/user?act=login
各种配置、action类都正确网上有的人也遇到这种情况,但是没看到解决办法,请做过的朋友指点一下。

解决方案 »

  1.   

    你的action是怎么写的,配置文件有时怎样的
      

  2.   

    struts:
    <action 
    path="/user"
    type="org.springframework.web.struts.DelegatingActionProxy"
    name="userForm"
    scope="request"
    parameter="act"
    >
    <forward name="login" path="/main.jsp" />
    ....
    </action>spring:    <bean name="/user" class="com.biz.actions.UserAction">
        <property name="usermanager" ref="usermanager"/>
        </bean>
    UserAction:
    public class UserAction extends DispatchAction {protected ActionForward login(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    }}
      

  3.   

    My god!找到问题根源了,我的login方法的作用域搞错了,我是直接复制了unspecified方法,改了里边的内容,改成public就可以了。
      

  4.   

     看到你的自问自答,我再看我的程序,what'out!!我给你的问题一样,谢谢楼主分享~~