Java中ModelAndView是做什么的?
这是MVC中的两个模块
Model 是指数据模型
View是指UI视图
另外Control是指控制流
为什么要用MVC, 目前凡是涉及到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是桥梁。
以上是对java的MVC模式的广义解说。
MVC在java的web应用中还有狭义的解说,也就是B/S中常用的MVC架构,具体可以查询这方面资料。
标签:Java,ModelAndView