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