Struts2 如何选择正确的操作来实现逻辑业务

Struts2 如何选择正确的操作来实现逻辑业务,struts2,action,Struts2,Action,假设我有三个实体 系 任务 使用者 用户可以发布属于其部门的某些任务。他可以属于多个部门 这三个实体之间的关系是: User---Task----many2many User-Department --Many2many Task--Department -- many2one 我使用Hibernate并将所有关联设置为双向 现在我有一些要求: 列出属于指定用户的所有任务(该用户发布的任务) 列出属于用户部门的所有任务(如果该用户属于dep1和dep2,现在我应该列出dep1和dep2的所

假设我有三个实体

  • 任务
  • 使用者
用户可以发布属于其部门的某些任务。他可以属于多个部门

这三个实体之间的关系是:

User---Task----many2many
User-Department --Many2many
Task--Department -- many2one
我使用Hibernate并将所有关联设置为双向

现在我有一些要求:

  • 列出属于指定用户的所有任务(该用户发布的任务)
  • 列出属于用户部门的所有任务(如果该用户属于dep1和dep2,现在我应该列出dep1和dep2的所有任务)
  • 列出一个部门的所有任务
  • 列出所有部门的所有任务

  • 这些逻辑代码并不难,但是我应该把这些逻辑放在哪里呢?对于UserAction、TaskAction或DepartmentAction?

    如果您使用的是Rest插件,那么通常使用
    DepartmentAction
    TaskAction
    UserAction
    ,可能是有意义的,但您不需要将自己限制在这些包罗万象的操作中

    从你的描述中,我觉得这四个要求实际上都是一个行动,按照不同的标准列出了任务。因此,我将创建一个名为
    ListTasksAction
    的操作。此操作将使用参数指示要限制的四个标准中的哪一个

    您还可以为这四个需求创建单独的操作(可能使用共享接口或抽象类)