struts2 action class-1 class per(ajax)request?

时间:2011-01-14 23:05:32

标签: java model-view-controller struts2

在我的struts 2网络应用中,网页上有几个菜单标签。这些菜单选项卡在单击时触发ajax操作。所有这些动作都来自一个动作类。此操作类将请求路由到帮助程序类。辅助类有一个方法: 如果action = this,请执行此操作 如果action = that,那就这样做 等......每个动作(即每个标签)。
有人可以提供有关此设计的评论......这是正确使用struts 2吗?或者我们应该有单独的行动类? 另外,帮助程序类的任何标准实践?(即它应该是静态的,单例,线程安全等)。

1 个答案:

答案 0 :(得分:1)

几点想法:

  • 使用Action类处理多个struts2动作没有错; struts2允许您将特定操作路由到类的方法。如果类本身是一个有用的组织设备,这可能会有所帮助。例如,您可能有一个想要创建,读取,更新等的Widget,而不是具有CreateWidgetAction,ReadWidgetAction等类的一组类,这些类会导致很多混乱,只需要一个WidgetAction类就可以了。上面有create(),update()等方法。考虑到你描述的内容(不同的菜单选项卡),我猜你的情况不太合适,但你当然可以做到。维护代码时要查看的文件较少。

  • 请注意,您需要将不同的操作映射到这些不同的方法以及呈现结果的不同JSP。

  • 关于助手类,我的建议是将视图+控制器相关的逻辑放在Action类中,但将模型逻辑留在其他类(可能是你的助手类)中。如果您的助手类是独立于演示的计算数据,那么这当然是合法的。但是如果你的助手类只是准备一个视图,那就把逻辑放在Action本身。