00:00
好,然后下面呢,那咱们刚才是通过solve的API呢,也就是咱们的request对象对吧,然后共享了数据,然后下面大家再来看咱们的第二种方式,那第二种方式呢,就是咱们的spring VC为我们提供的API了,对吧?在这咱们需要用到啊一个对象,大家注意这个对象还是非常非常的厉害的,也是非常的重要的。为什么说的比较重要呢?咱们先来看这个对象的名字啊,这个类型的名字叫做model and view,那所以说我们当前的这个类型应该是有两个功能对不对?第一个功能叫做model模型,对吧?那模型的话咱们说过是用来处理数据的对不对?那其实大家注意这个地方,咱们的model主要指的就是像预对象中共享数据的这个这个过程OK吧,这个作用啊,好,然后这个view是什么意思?View是指的是视图,对不对,对吧?那model and view就两个功能,一个是模型,一个是视图,那模型指的是什么?模型指的就是我们网易对象中共享数据的功能,而我们的视图是什么?视图指的就是我们最终所设置的视图名称,经过视图解析器解析,跳转到我们指定的页面的过程,OK吧,啊这样的啊,所以说呢,Model and view非常非常的重要。
01:25
这个重要到什么程度呢?啊,一会儿呢,我会带着大家呢,去看一下这个源码,然后呢,咱们会发现源码里面有那么一行代码呀,你不管咱们用的是这种方式还是这种方式,还是这种方式,还是这种方式,也就是说我们这里面往request预对象中共享数据,是不是有五种方式呀,对不对,大家注意,你这五种方式你不管用的是其中的任何一种,它最终都要把你的数据包装成一个model and view,知道吧,知道吧,就不管咱们用的是什么方式,最终它都会将我们的model模型数据,还有就是我们的视图,然后把它给封装到咱们的model and view对象里边,OK吧,哎,是这样的啊,行,然后下面那咱们就来看一下呗,怎么使用这个model and view,大家注意啊,来,咱们来找到我们的这个控制层啊,控制器,然后it request。
02:25
括号,比如说这个咱们叫做test。叫做test model and view OK吧,好,然后在这咱们再来创建一个方法,大家注意这个方法啊,你的返回值必须是model and view,知道吧,这个方法的返回值必须是model and view啊好,因为这个model and view它是两个功能啊,一个是模型数据,一个是视图,对不对?那咱们现在要想把这个东西封装了咱们的模型和视图的这个这个对象,然后是不是应该交给咱们的dispat solve dispat solve是不是才能够去解析它,大家说对不对,你就在这里面,你就在当前的方法里面去创建了一个这样的对象,那咱们的springt知不知道你创建的有这个对象啊?
03:17
知道不知道吧,不知道吧,所以说咱们必须是将当前的model and view作为方法的返回值返回给谁,返回给我们的前端控制器,前端控制器才能够去解析它,能听懂吧,能听懂吧,好OK啊行,那大家来看,那我们在这,那咱们首先是不是就需要先来获创建一个model and view叫mav,然后等于另一个model and view,好然后既然咱们说这是几个功能,两个功能,那所以说咱们说过两个功能,第一个model指的是什么?往请求域中共享数据,那V指的是不是应该是视图功能,对不对,对吧?那视图功能大家想想应该是啥意思啊,咱们来实现一个页面跳转的话,是不是应该是由咱们的控制器来设置视图名称,然后视图名称由咱们的视图解析器解析之后来找到最终的页面,是不是啊是吧,所以。
04:18
说大家想想,在我们的控制器里面,我们的视图应该怎么设置啊,是不是只需要设置一个视图名称就行,对不对,对吧?所以说在这大家看好,来,首先,然后咱们来处理模型数据,对吧?什么叫处理模型数据呢?大家注意结像咱们的请求域request request共享数据能听懂吗?来,More mav点大家看一下,这里面有一个叫什么的方法,Ad object的方法能看懂不看这叫attribute name,这叫attribute value,大家记不记得咱们的set attribute里面两个属性,一个不就叫attribute name,一个不就是叫attribute value,对不对?属性名和属性值能看懂吧?所以说咱们当前的这个方法,它就是往咱们的请求域中共享数据的,能听懂吗?好,来。
05:18
在这咱们写一个什么,看好了啊,名字一样都叫test request scope,能听懂不值不一样,这个值咱们叫什么呢?叫hello,逗号,Model and view model and view OK吧,啊行,然后写完之后呢,大家想想,我们现在已经往咱们的请求域中共享数据了,那下面咱们是不是要设置视图名称了,对不对,怎么来设置呢?大家注意在这咱们来设置,然后视图名称,然后视图名称既然是关于视图的,那咱们的model and view里面的view对应的是不是就是视图呀,所以说在这咱们直接通过mav点什么,这里面是不是有一个叫做CW内容能看懂不好,大家注意这个就是是设置视图名称,就相当于我们在上面咱们。
06:18
那这个控制器方法中所返回的这个字符串能听懂吧?这个咱们是不是说过返回的字符串就是视图名称没问题吧?但是咱们有了model and view之后,我们是不是就可以通过这个对象中的set view name方法设置视图名称了?OK吧,好,来name,然后里面写谁SUCSSOK,完事,最终将咱们的mav对象返回就可以能看懂吧?好,行,来,下边咱们再来重新部署一下,大家看这个效果啊啊,页面中没写超链接是不是啊?那没写的话,那咱们要想测试那还不简单,你直接写个路径行不行啊,可不可以,可以吧啊model and view能看懂吗?来,下面咱们来一个回车,大家看好使不好使,好使没问题吧啊所以说大家注意这个model and view1一共几个功能,两个功能第一个功能干什么?是不是像replace预对象共享数据对不对,对吧?然后第二个功能是干什么?设置视图名称,能听懂吧啊,设置视图名称,但是当我们在控制器方法中使用了model and view之后,大家一定要注意model and view必须作为该方法的返回值返回能听懂不?
07:39
能听懂吧,必须作为该方法的返回值返回啊,好,咱们把这个超链接给它加上,然后这个应该是test model and view OK吧,好,然后这个是通过什么model and view。对吧,像request预对象共享数据OK啊,非常重要,为什么这样说呢?我也说了,不管咱们用的什么方式,它最终呢,都会将咱们的模型数据和视图封装到model and view中,知道吧?啊,不管你用的什么方式,最终都要封装到这个对象里面啊。
08:16
好行,这个大家看有没有问题啊,没有。
我来说两句