java之struts2的action优化配置
当一个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 List<User> list; 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<User> getList() { return list; } public void setList(List<User> list) { this.list = list; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } }
struts.xml
<!-- *表示匹配所有请求的action名 *表示匹配任意多个字符 {1}表示匹配第一个*所代表的内容 如:*User 可以匹配 addUser,deleteUser,saveUser,findUser,updateUser,*表示User前的字符 *_* 可以匹配 add_user这样的请求 --> <action name="*" class="cn.sxt.action.UserAction" method="{1}"> <result type="redirectAction">list</result> <result name="list">/list.jsp</result> <result name="update">/update.jsp</result> <result name="error">/error.jsp</result> </action>
注意:使用通配符请求action的方式和以前一样
分类:
java框架学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现