zoukankan      html  css  js  c++  java
  • 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的方式和以前一样

  • 相关阅读:
    WebApi 安全认证
    Autofac 学习
    autofac实现批量注入
    Autofac -入门练习
    Struts2 Namespace_命名空间
    Deployment failure on Tomcat 6.x. Could not copy all resources
    chm 已取消到该网页的导航 或者 无法显示网页 的问题
    GPT 分区详解
    mount 中文手册
    rpm 中文手册
  • 原文地址:https://www.cnblogs.com/Vincent-yuan/p/10970668.html
Copyright © 2011-2022 走看看