当一个Action处理类中处理多个业务时,action的配置 文件将会急剧增加,导致配置文件很臃肿的问题。
struts2提供了两种方案来解决这个问题。一种是动态方法调用,另一种是使用通配符来配置Action。
这里只讲使用通配符的方式来配置Action.
代码如下:
UserAction
public class UserAction { private Integer id; private String name; private String sex; private int age; private String phone; private UserDao userDao = new UserDaoImpl(); //这个List必须为处理类的属性 才可以在列表页面中获取数据 如果只是在方法的内部声明将无法获取 //并且提供其get/set方法 private Listlist; private User user; //添加 public String save(){ User user = new User(name,age,sex,phone); if(userDao.save(user)>0){ return Action.SUCCESS; } return Action.ERROR; } //修改 public String update(){ User user = new User(id,name,age,sex,phone); if(userDao.update(user)>0){ return Action.SUCCESS; } return Action.ERROR; } //查询 public String list(){ list = userDao.findAll(); //return Action.SUCCESS; return "list"; } //删除 public String delete(){ if(userDao.delete(id)>0){ return Action.SUCCESS; } return Action.ERROR; } //获取指定对象 public String toUpdate(){ user = userDao.findById(id); //return Action.SUCCESS; return "update"; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public List getList() { return list; } public void setList(List list) { this.list = list; } public User getUser() { return user; } public void setUser(User user) { this.user = user; }}
struts.xml
list /list.jsp /update.jsp /error.jsp
注意:使用通配符请求action的方式和以前一样