刚刚在struts2框架中写根据id删除记录的时候,需要将id传过去。
struts.xml中的配置如下:
method="execute">
/WEB-INF/page/hello.jsp
/WEB-INF/page/list.jsp
useraction_list
我在UserAction.java中的方法为:
public String delete(String id){
dao.deleteObject(id);
return "delete";
}
结果报错,找不到delete()方法。
我的想法是:action中method=“delete”只能匹配delete(),匹配不到delete(String id)。
解决方法是用另外一种方式传参。步骤如下:
1.他不是只能匹配delete()方法吗? 那我就把方法名改成delete()
2.那我的id怎么办呢?在这个action中定义一个私有的id,然后给这个id一个get和set方法。
3.这个时候id就能取到了。
package tm.change.action;
import java.util.ArrayList;
import java.util.List;
import tm.change.dao.UserDao;
import tm.change.dao.impl.UserDaoImpl;
import tm.change.domain.User;
public class UserAction {
private UserDao dao = new UserDaoImpl();
private List lists = new ArrayList<>();
private Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String delete(){
dao.deleteObject(id);
return "delete";
}
}