00:00
好,接下来我们来具体给大家去说这两个重要的对象啊,那么其实我们刚刚提到的视图,还有这个视图解析器呢,它主要是由两个接口来进行描述的啊,我们来看一看吧啊,第一个接口呢,就是我们的V接口,那么这个接口它描述的就是我们的视图哦,第二个接口呢,就是我们的VI server,这个接口它描述的就是我们的视图解析器。好,那么接下来我们分别来看一下他们这两个接口。好,先回到我们的开发工具中啊,我们打开我们的open tap,先去找到尾用啊这个接口,注意啊,我们找的是一个接口,并且呢,它是我们framework里面的啊,你不要去找这些东西啊,这些东西肯定不是的,来吧,进入到我们的VC02中啊,点击OK,好,进来,那么这就是我们的一个视图接口,而在这个视图接口里面呢,其实没有什么东西啊,有几个常量,这几个常量我们可以不用去看,我们主要来关心它里面的两个方法,一个是get content tap,另外一个就是我们的render方法。
01:08
其实这个render方法,刚刚我们在讲这个处理模型数据的时候,我们看到过啊,不知道大家还记不记得它这个方法的主要作用是什么呢?就是帮我们去诶渲染你的模型数据啊,最终呢,去完成我们的从立上或者是转发的操作,都是在这个方法里面去做的。而上面的这个get count tap呢,这个方法其实我们关心的不是很多啊,它的作用是什么呢?我来给大家分析一下,因为你这个视图对象最终要完成重定向或者是转发的工作,也就意味着你需要,诶,你需要你需要给我们的客户端呢去写出一些数据,那么在写数据之前的话呢,我们想一想,之前我们通过response这个对象去写出一些数据之前,我们是不是需要给他去设置一个content tap呀,还记不记得那个值呢?就是什么text的HTML,然后呢,叉S等于utm杠八还记不记得对吧?OK,那么现在因为我们对这个pass也好,或者request也好,都做了一些封装,所以说呢,我们就不需要直接在那个对象上进行设置了,而是你通过这个方法来去给他返回,那么你将来如果说想自己写的话,那么你只需要在这个方法中呢,给他去return上一个,诶,就是我们之前写的那个什么T的什么HTML。
02:29
当什么差塞就等于什么UTF杠八那一堆东西,把这个字符串的给它称回去就可以了,所以说你要明白一下这个方法的作用是什么。明白了吧,OK,那么这个就是我们视图接口里面比较重要的两个方法,那么这个的话我们暂时知道一下,而像这个方法一会我们要具体去看的,好,你先记住叫做什么re的方法,好,这是我们的视图接口,那么接下来我们再来看一下我们的server,好,这是我们的视图解析器的一个接口,那么这里面就更简单了,就只有一个方法。
03:07
看到了吧,这个方法是什么意思呢?你看啊,你给我一个师徒的名字,然后呢,我通过解析师徒名字,最终得到一个师徒对象,看到没有。是不是返回的这个尾用,不就是我们刚刚说的这个尾用视图接口吗?所以说呢,这个视图解析器里面的方法是干什么事的呢?就是根据一个视图的名字,最终解析得到一个视图的对象。这就是我们的视图解析器这个接口好,那么现在我来问大家一个问题,它们两个之间的关系是什么?什么关系啊?是不是视图是由视图解析器解析得到的吧,对不对,哎,你要明白这两个关系啊,好,那么这个关系有了以后呢,我们就可以来看这个位置了啊,第一句话是我们刚刚已经说过的,就是不管你返回到结果是什么spring VC呢,都会把它封装成一个model and的对象,然后呢,接下来呢,再借助我们的视图解析器对象解析得到我们的视图对象,那么这个视图呢,最终可以是JSP,也可以是其他的啊,那么我们主要研究的还是这个JSP。
04:24
再然后呢,这个视图对象做什么事呢?视图对象他在对什么模型数据进行渲染,说白了就是把我们的模型呢给它输出出去啊,这样一来的话呢,对于我们的处理器来讲,他就不用再去关心你的模型数据要怎么处理了,而是把它交给我们的视图来去做,而对于这个处理器来讲呢,他只需要把工作的重点聚焦在生产模型数据上面就可以了。就是我把数据给你生产好了,我把数据给你查回来了,那么最终这个数据怎么把它响应给我们的客户端,这件事情我们的处理器就不再关心了,而是把它交给视图对象去做了。
05:07
这样有什么好处呢?有一个解偶的好处啊,我们对比的来说一下,我们在solid中,大家想想我们在这个service费的我们要做什么事情啊,第一个我们要获取我们的模型数据,对吧?比如调用你的DAO拿到数据,再前后呢,我们要通过这个request也好,或者这个response也好,是不是最终做一个数据的一个输出啊,所有的工作都是在solid里面去做的,所以说呢,这个就是耦合到一起的一种写法,而在这个破Mac中呢,他把这个模型数据的生产呢,交给我们的handle德ler来去做,而拿到模型数据以后呢,Handle德就不再去管了,而是把这个模型数据呢,交给我们的维用啊,交给我们的视图对象去做,那么试图呢,再负责把这个模型数据呢,给你做一个输出,所以说呢,我们就把这个工作呢给它。
06:03
分开了,那么这样的话呢,也就进行了一个解耦操作了。明白这个设计了吧,OK,好,那么这就是我们的视图和视图解析器两个重要的接口,以及它们之间的一个关系啊,先把这个给大家说一下,那么接下来我们就来具体的去看看视图相关的一些东西,以及我们的视图解析器诶,相关的一些东西啊啊。
我来说两句