这是jsp页面
<table border="1">
      <tr>
        <td>编号</td>
         <td>姓名</td>
         <td>密码</td>
         <td>操作</td> 
      </tr>
      <s:iterator value="userList">
      <tr>
      <td><s:property value="id"/></td>
      <td><s:property value="name"/></td>
      <td><s:property value="password"/></td>  
       <td><a href="user_deleteUser?id=<s:property value="id"/>">删除</a></td>
      </tr>     
      </s:iterator>
      </table>配置文件:
<struts>
  
    <package name="user" namespace="/" extends="struts-default">
        <action name="user_*" class="com.chengge.action.UserAction" method="{1}">
            <result name="userList" >userList.jsp </result>
            <result name="error">
                error.jsp
            </result>
        </action>
    </package></struts>
拦截类: public String deleteUser(int id){
//根据id删除用户
boolean flag=false;
UserCl uc=new UserCl();
uc.deleteUser(id);
if(flag){
  return "userList";
}
return "error";
}

点击删除用户的时候出现了如下的错误。java.lang.NoSuchMethodException: com.chengge.action.UserAction.deleteUser()(求解)!!!

解决方案 »

  1.   

    java.lang.NoSuchMethodException: com.chengge.action.UserAction.deleteUser()没找到这个的方法、配置成这样试试、<action name="user_*" class="com.chengge.action.UserAction" method="deleteUser">
      

  2.   

    能传入参数。。user_deleteUser?id=10
    异常显示的是没找到方法。
      

  3.   

    很常见的问题,就是没有找到相应的方法,只要改成下面这样就行了
    <action name="user_*" class="com.chengge.action.UserAction" method="deleteUser">
    至于通配符,由于Struts Action是单实例的,所以不能这样用。
     
      

  4.   


     <package name="user" namespace="/" extends="struts-default">
        <action name="user_addUser" class="com.chengge.action.UserAction" method="addUser">
                <result name="userList" type="dispatcher">userList.jsp </result>
                <result name="error">
                    error.jsp
                </result>
                </action>
            <action name="user_deleteUser" class="com.chengge.action.UserAction" method="deleteUser">
                <result name="userList" type="dispatcher">userList.jsp </result>
                <result name="error">
                    error.jsp
                </result>
            </action>
        </package>这样的设置后,还是那个问题的出现。
      

  5.   

    public String deleteUser(),不要参数试试看!
      

  6.   

    这。struts2的action能这样传参数的?   参数是通过action的setter方法注入的。另外,上面的兄弟:struts2的action默认是多例的,struts1的才是单例,莫要误人子弟啊!
      

  7.   

    struts2单实例? 
    肯定是配置问题 不存在什么单不单
      

  8.   

    楼主这个写法<action name="user_*" class="com.chengge.action.UserAction" method="{1}">没问题的,strust2完全可以,错误原因另找。
      

  9.   

      <package name="user" namespace="/" extends="struts-default">
    把name="user"换成name="default"
      

  10.   

    Struts Action是单实例么?怎么上听课,老师说,Struts Action不是单实例,他说一个请求会产生一个Acton实例!
           你们说的是Struts1么?Struts1我没用,直接学Struts2的。。
      

  11.   

    user_deleteUser后面加.action试试吧!