我正在学习java ee,请阅读“java ee 7 the big picture”一书。
在书中,作者有一张图片来说明java ee中的MVC模式。
如您所见,在图中,模型和视图直接相互通信。
但是我对MVC的理解(我首先从iOS开发中学习了MVC模式)是模型和视图永远不应该直接相互通信。模型和视图之间的所有通信都应该通过控制器完成(即控制器充当模型和视图之间的解释器)。
这个图有缺陷吗?或者它是否正确,我需要重新调整我对MVC模式的理解java ee方式?
谢谢!
答案 0 :(得分:2)
该图似乎没有帮助。在javaEE中,控制器将接受用户填写的表单,进行验证,然后将数据交给服务层进行更新,然后重定向到获取新更新对象(模型)的控制器并将其添加到请求作为请求属性,转发到生成html的模板。视图是某种模板,它知道在请求属性中查找模型。所以模型不知道告诉视图什么,通常就视图而言模型是数据容器而已。