在Struts2中,控制器将请求分派给Action,Action将其传递给后端逻辑,这可以看作是一个非常大的过程。model,处理请求,JSP代表视图。
Struts2中如何定义Action?肯定是not一个看法。是控制器还是模型?
Struts 操作是 MVC 模式意义上的控制器。我认为价值堆栈的讨论和ActionContext
以及操作类中的 getter 方法混淆了这个问题。一般来说,这些只是其他对象(通常是模型对象)的容器。
虽然 @AndreaLigios 指出您可以使用各种 get 方法从操作中检索对象,但这更多的是通过赋予通常分配给模型对象的额外职责来稀释操作内聚力的问题。是的,当您考虑做什么(或应该做什么)时,评估对象的职责非常重要。
最简单地说,所有MVC框架中主要组件的职责如下:
- 模型对象负责保存在应用程序域内收集或计算的数据。
- 视图对象负责向用户或其他接收者(如服务客户端)显示信息
- 控制器对象负责协调模型和视图组件之间的数据流。
当您查看诸如 Struts(或 Spring MVC)之类的特定 MVC 框架时,您会发现这些框架通常提供控制器和视图组件,但您自己构建模型是您的工作。即便如此,Struts 仍然提供了大量的附加对象和组件,例如ActionContext
,这使得从视图组件访问模型对象变得更容易。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)