为了减少struts2中的action的数量,我一般把对单表的CRUD操作放在同一个action中实现了,但问题来了: 
这样action的属性(实例变量)就会很多很杂乱,比如一个产品表的操作至少需要注入以下参数 
List productList;//查询方法需要 
Product product;//增加、修改方法需要 
还有分页参数等等 
搞的不好还有String productId之类的 
这样导致action的逻辑看起来很混乱。 单一职责固然合理,但如果因此而引入大量的action类导致其他的如管理上的问题又是否值得呢?况且单表的CRUD操作之间也可能是有关联的,如删除操作后可能需要调用查询操作来返回一个新的产品列表。不知道大家在实际中是如何处理的,问问 呵呵~~

解决方案 »

  1.   

    一个表的crud放一个action 平时都这么做的.!
    要不然你分开了, 那看起来应该更混乱
      

  2.   

    对..其实不会乱...
         我们都是放一个Action里面的.关键问题在那里列? 在你们的变量命名.
    你可以给自己总结一套规则 比如说加前缀..之类.
       另外就是一定要写注释..如果一个Action 类达到40来个变量,没有注释很难看懂的.
      

  3.   

    一般写在一个action中,方便管理
      

  4.   

    一个Action撒 目前我遇到的都是在一个action里面
      

  5.   

    为了以后维护以及规范化层次化的编码,还是放在各自的Action中好。
    但是还是要视项目的规模而定
      

  6.   

    在父类中写好公共步骤,然后针对不同的实体编写不同的action继承之,根据需要扩展父类方法。
    玩法很多的,不仅仅是这么几种。
      

  7.   

    当然是一个,可以写一个BaseAction
      

  8.   

    建议放在同一个action中,代码放到别处多了更难维护。
      

  9.   

    最好是放在一个action中,整体来看还是比分开了强
      

  10.   

    把CRUD 分页什么的 都封装在一个地方 后面对不同表的CRUD都用之前封装好的来做 
    避免出现重复的代码
      

  11.   

    放在action的好。 调用方便  而且运行方便 管理方便
      

  12.   

    有些时候一个action能完成很多表单的需求 但是每个表单有时候还有些细微的 不同的操作
    你可以通过继承来搞定这个事情 父类Action包含平常的操作 子类再给出具体实现
      

  13.   

    放到一个Action里面,遵循良好的命名规则就好了...
      

  14.   

    各有各的好处和缺点,楼主只能权衡一下,选择自己侧重的!!个人建议放在一个action中!!!
      

  15.   

    放在一个action 管理起来方便一点
      

  16.   

    建议放一个action里面,不然加其他框架时更冗余。