Skip to content

0825又一篇超集nic的对springmvc框架的解释

ziyouzy edited this page Aug 25, 2020 · 1 revision

这是MVC中的两个模块

Model 是指数据模型

View是指UI视图

另外Control是指控制流

为什么要用daoMVC, 目前凡是涉及到UI有界面的程序,最好采用MVC模式来设计。

View: 我们要专门有一个模块,还存放所有的UI组件库, 按钮,图片,文本框,列表,菜单等等,这些东西都是死的,没有内容。 比方说文本框,你从组库中把文本框拿出来,默认里面没有任何文字。

Model: 我们的数据模型,如果是面向对象的程序,那就是一个个的数据类。如学生,老师,汽车,职员等等。他们也可以理解成数据结构。我们必须有一个专门的模块来存放这些结构。 结构也是死的,如果没有把他拿出来用,他就永远躺上该模块中。

Control: 控制者, 可以理解成一段代码, 它会根据当前的程序状态机,将合适的数据模型中的数据填充到UI视图中。也可以反过来通过监听UI组件的变化,将一部分变化写回数据模型中。

举例:

用户注册界面,

有四个 UI组件 1。文本框提示用户一些注册信息 2。两个输入型文本框可以让用户输入帐号和密码 3。一个按钮。

这里,Model是用户资料

View就是这四个UI组件

而Control需要程序加上代码:

当按钮被按下,首先生成User的实例,其实从两个输入框中分别获取字符串, 将user的id和password赋值。 保存user实例或者发送到server端。

在这个过程中,三个模块各司其职,尽可能少地相互不干涉。特别是model和view之间不干涉,而control是桥梁。

你说的ModelAndView.java一般来说应该是两个参数,一个是view,如果是j2ee就相当于里面的html网页的名字;另一个是model,一般是一个map,即html里面有一些需要后台传过来的参数,可以以名字值对(key-value)的形式传递到html中去。如果是三个参数的话,可以是把key和value分开传递了。

Clone this wiki locally