这是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()(求解)!!!
异常显示的是没找到方法。
<action name="user_*" class="com.chengge.action.UserAction" method="deleteUser">
至于通配符,由于Struts Action是单实例的,所以不能这样用。
<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>这样的设置后,还是那个问题的出现。
肯定是配置问题 不存在什么单不单
把name="user"换成name="default"
你们说的是Struts1么?Struts1我没用,直接学Struts2的。。