【问题标题】:java ee MVC pattern, does model and view communicate directly with each otherjava ee MVC模式,模型和视图是否直接相互通信
【发布时间】:2017-09-12 00:06:27
【问题描述】:

我目前正在按照“java ee 7 the big picture”一书学习 java ee。

在书中,作者有一张图来说明java ee中的MVC模式。

如图所示,模型和视图是直接相互通信的。

但我对 MVC 的理解(我首先从 iOS 开发中学习了 MVC 模式)是模型和视图不应该直接相互通信。模型和视图之间的所有通信都应该通过控制器完成(即控制器充当模型和视图之间的解释器)。

那么这个图表有缺陷吗?还是说对了,需要用java ee的方式重新调整对MVC模式的理解?

谢谢!

【问题讨论】:

  • 我认为你做得很好。视图不直接与模型交互。据我了解,我认为该图试图解释模型将数据发送到视图,但视图在没有控制器帮助的情况下无法到达模型。

标签: java jakarta-ee model-view-controller


【解决方案1】:

图表似乎没有那么有用。在 javaEE 中,控制器将接受用户填写的表单,进行验证,然后将数据交给服务层进行更新,然后重定向到控制器,该控制器获取新的更新对象(模型)并将其添加到请求作为请求属性,转发到生成 html 的模板。视图是某种模板,它知道在请求属性中查找模型。所以模型不知道告诉视图任何事情,通常就视图而言,模型是一个数据容器,仅此而已。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 2011-09-06
    • 2019-02-16
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多