如题,最近突然觉得Action中的方法重用性不好,除非增加请求参数作为判断依据。这种方式弄得Action这一层感觉有点乱糟糟的。故,想出另外一种实现方法。就是一个操作对应的方法(Action中的)负责该操作的所有步骤(例如修改权限,我先查询当前权限,再查询权限列表),这些步骤均通过一个请求参数作为区分(例如:dispatcher="current")。这种方法自己从没有用过,所有想上来看看各位高手有什么见解。个人感觉这种方式虽然存在了重复编码的情况(把方法的重用性划分到了Service层),但是对于Action和请求来说,这样既简化了请求转发的次数,同时也降低了请求逻辑的复杂程度。不知道这种方式是否可行?希望给点提示,怕就怕这样的定义方法不能适应变化的业务问题(自己想出的结果是没问题,相反,如果采用这种方式,在业务发生更改时还更容易修改。)。

解决方案 »

  1.   

    fuck!CSDN可以重复提交啊。浪费我100。请回答这个帖子的朋友也回答那个,双倍哦。心痛ING....
      

  2.   

    不会啊,Action和struts.xml代码看看
      

  3.   

    楼主,回过另一个帖子了
    权限管理,可以用ajax调用action处理啊,
    选中一个权限就触发一个事件(例如 checked)调用ajax访问action,action中接收参数,调用service中对应方法就ok
      

  4.   

    我准备这样使用Actionpublic class PowerAction{
      private String dispatcher = null;
      //dispatcher的getter、stter方法....
      public String add(){
       String forward = null;
       //查询权限列表(将用作父权限)的代码...
       forward = "...";
       return forward;
      }
      public String del(){
         String forward = null;
         //删除当前权限的代码....
         forward = "...";
         return forward;
      }
      public String upd(){
         String forward = null;
         if(forward.equals("crrent")){
            //查询被修改的权限的信息的代码...
          forward = "...";
         }
         return forward;
      }
      public String qry(){
         String forward = null;
         if(dispatcher.equals("all")){
            //查询列表的代码
             forward ="...";
         }
         return forward;
      }
    }权限模块中的添、删、改、查操作就直接对应这几个方法。
      

  5.   

    这种做法是对的,可以这么做啊
    配置文件中可以设置调用的方法
    不过建义你继承SuperAction,里面有很多好用的方法