00:01
来,那么接下来呢,我们就来给大家具体说一下这个视图啊,呃,那么视图的作用是什么呢?大家一定要记住了,他就是来负责渲染模型数据,将模型里面的这个数据呢以某种形式呈现给客户,那么其实再来给大家加上一句话啊,主要就是来负责。啊,主要就是进行从定向啊,就是什么完成吧,啊就是来啊完成我们的转发或者是或者是重定向的操作,这就是我们师徒他所负责的事情。明白了吗?先把这个结论记住啊,它主要就是来完成转发或者是重理下的操作的,OK啊,那么呃,这个SPAVC里面呢,通过一个维U接口来去描述我们的视图,它里面的话,我们刚刚已经看过了啊,我就不再带着你去看了,明白了吗?诶,不再带你去看了啊好,那么我们来再来看一下常用的一个视图实现类啊,有哪几个,我们这个位置呢,能看到一个internal resource尾用,就是我们刚刚是不是已经看到过的一个,还有什么呀,还有这个JSTL尾用啊,还有一个什么呀,像这个文档是入像下面这一堆东西,我们暂时不用去管了啊啊再来说一个就是我们一会要去讲到的重定向,那么它会有一个ready directorct备用啊,这是我们一会在这个地方去讲的啊,就是用到一个,呃,Ready director为用啊,这里面我看下有没有提到啊。
01:35
这里面没提到啊,一会我们来带大家去分析这个源代码的时候再来去看它,好,所以说呢,我们常用的这个视图实现类呢,大家都记住这么几个,一个是resource为用,一个是GSTL为用,而另外一个就是我们的direct用。那明白了吧,哎,就是我们的redict,好呃,那么我们来给大家去重点强调一下这个JST2,它是干嘛的呢?注意如果说诶你在项目中使用了GSTL,还记不记得这个技术。
02:08
标签技术嘛,对吧,什么c if,什么c for inch,那一堆东西还记得吧,如果你使用了这个技术了,那么spo Mac呢,会把这个原来的A诺resource为用呢,诶解析成GSTL为用,为什么呢?因为GSTL韦用,它要去支持你的GSTL这个技术啊,所以这个现象呢,还是比较神奇的哈,我们来看一看,嗯,怎么去看到它这个GSTL呢?大家注意,现在我们在这个代码中。好,我们先来写一个简单的测试方法,我们来看看。好,我在这个位置来加上一个测试方法啊A,好,Rap,比如说我们来测试我们的啊视图啊T测试我们的没用啊,测试我们的文用,然后呢,我们再去加上一个方法啊,在这个位置我们来加上一个哎,就是我们的视图啊尾用,然后呢,Public字符上类型的TS,我们的尾用啊,Request money,然后呢,呃,这个上面我们写上一个test的尾用啊,这里面我们直接成一个success,那么大家来看现在我写的这个方法,我们来加上一个断点,我们去看看当前给我解析得到的这个视图对象是谁,好吧,我们来看一下啊,好,加上断点,那么我们需要通过debug的方式来去启动服务器。
03:41
好,来启动。OK,启动以后呢,我们来访问一下啊,嗯,我重新来跑一下啊。好,让他帮我把这个页面打开。
04:06
好来我们点一下,哎,啊,这不是第bug是吧,我们的这个debug启动一下啊,刚才我点错了啊这个位置。好,第八个记一下。好起来以后呢,我们再来点一下它啊,走大家注意它还是进入到我们的这个方法的这个位置,看到了吧,这是我们加的断点啊,那么你进入到这个位置以后呢,谁掉的它呢。谁调的这个方法呀,是不是我们despite so的这个do despite这一行啊,对吧?诶刚才我们把断点去掉了是吧?来我把这个断点的还是给它加上,那么我们知道你从这一行去调动我的方法,那么其实我们接着往后走啊,现在我们不不用去研究它了,因为我们知道肯定是要执行它的,来断点直接往后走,开始去处理我们的结果,那么我们可以看一下这个MV里面有什么,MV里面呢,就是有一个success,那么这个model呢,是没有的,为什么model是没有的呢?因为我们这里面有没有模型数据啊,没有,只有一个success啊,说出了我们直接往后走来,他要帮我们处理结果,处理结果进来以后呢,来到这个位置,他要调用到我们的re的方法,好来这个断点我们不要了啊,好来到这把这个断点去掉,这个我们不要了,来到我们这个re的方法就是把我们的MV传进去呢,开始去渲染我们的视图了啊,你来看进去,进来以后呢,我们在这个位置1204行,我们加入断点,大家注意它是要去解析你的。
05:35
啊,师徒名字,然后呢,得到一个视图对象,看到没有。对吧,所以这个过程呢,就是通过我们的视图解析器来去解析得到我们的视图对象的,理解什么意思吧,诶来去解析得到这个视图对象的啊好,那么我们来看刚才给我解析得到的视图对象是谁呢?我们代码往下走一行,大家来看它是一个。谁呀,Internal resource尾巴吧,对不对,为什么解析得到的是它呢?因为我们现在在我们的配置文件中,我们配置的这个。
06:10
稍等一下啊啊,我们把我们这个配置文件打开,然后呢,现在我们配置的这个视图解析器呢,叫做resource visual resource版,所以说呢,这个视图解析器它帮我们解析得到这个视图对象很正常吧,对不对,好,那么这是我们现在能看到的,来接下来我让这个断点呢,放行啊,就是我后面的我不再看了,直接都放行啊,大家结束,OK,结束了,结束以后呢,大家注意,我现在呢,如果说诶我想去使用我的GSTR的技术了,那么我们就得在我们当前的这个工程中,是不是加上我们GSTL相关的加包啊,对不对,来我们就把这个加包的加一下。好,来到我们support里面,这个资料里面呢,就有这个JSTL的夹包,来我把这两个加包呢,加到我们的工程下面。
07:00
加进来了吧,加进来以后呢,诶,他也帮我重新部署了,然后呢,我们再去访问一下我们刚刚的这个请求,注意了啊,TS尾用走一下。我有没有改过任何代码,没有改过了,就是加了两,加了两家包来,接着代码还是停到这,我们再来往后走,好再走再走再走来到这,你看是不是又要解析得到适度对象了,好,现在我代码往下走一行,我们来看这个尾又变成谁了。Just,加了吧,OK,神奇吗?啊,啥都没干,就是加了两价高它就变了,那这个时候啊,呃,首先我们先分析一下为什么会变成GSTL尾U,因为你加了炸包以后呢,诶破MVC呢,他就认为你有可能要在你的JSP中去使用JSTL标签了,他就得必须要去支持你的GSTL标签,那么他就会用到一个GSTL维用来去支持你。
08:01
但是我们的问题是什么呢?我现在配的视图解析器呢,叫做什么呀?叫做a resource VIVO server,它能解析得到GST200U吗?从结果上看它解析得到了吧,对吧?那我们就得分析一下,为什么你能解析得到GST200U,其实我们来注意它解析得到resource为用,这个我们是能理解的吧,对吧?但是它解析得到这个GSTL为用又是为什么呢?来大家注意,因为我们的JSTL尾用大家来看一看啊,这个尾用呢,它其实继承的是internal resource尾用。看到了吗?所以说你解析得到的这个JSTL尾U,说白了也是一个in internal resource尾U类型的。看明白了吗?哎,所以说呢,它是能帮我们解析得到这个gstr VO的,那么大家呢,需要把这个现象记住,就是当你加入了这个GSTL的标签库以后,它就会给你解析得到JSTL的U来去支持你的,诶JSTL这个标签。
09:15
听明白这个意思了吧,OK,好,那么后续的操作呢,它其实都是一样的。了解了吗?OK,那么这个位置的话呢,我们还提到了一个这个啊,就是使用这个GSTR呢,我们可以去配置这个国际化啊,这个东西啊,我们已经不讲了,把它去掉了啊,大家可以不用去看这个东西啊,这个东西跟我们现在已经没关系了,我把它去掉了啊。明白了吧,哎,把它去掉了啊啊,那么下面的这个话题的话,我们一会儿再来给他去讲,这个位置会讲到的啊,会讲到的。好,所以说呢,这就是我们啊GSDL尾用需要给大家去解释的一些东西,而至于我们刚刚提到的这个reductor尾用,那么我们等到讲重立项的时候再来给大家去说。明白了吧,好,那接下来呢,呃,我们再来给大家去说一下视图里面最关键的一个方法,叫做扔的这个方法。
10:08
明白吧,那么我们刚刚呢,诶在这个视图里面啊,就是我们的尾右接口里面,我们看到了这个诶扔的方法,但是呢,这个是一个抽象的,那我们就得去看一下每个具体的实现类是怎么实现的,来CTRLT一下,你发现视图下面呢,诶只有一个abstract为有看到没有,所以说呢,这个re的方法是在哪实现的呢?就是在这个abstract为U里面实现的,我们点进来,那么你就能看到,诶这个render方法呢,它做了一个具体的实现,所以说诶,几乎所有的这个视图对象再去调用render方法的时候呢,都会进入到我们的abstract为U的这个re里面,从这个里面开始执行。听明白了吧,但是它在执行的时候最终会调用一个render manager output model,而这个方法我们发现它也是一个抽象的,而且就在我们的view里面。那么对于这个方法的实现来讲,它就不一样了,你就得根据你具体的视图对象来去看了。
11:19
听懂了吧,我们刚刚呢研究过的是a resource为用,那么现在我们进入到这个a resource u中来去看一下,进来以后你发现就是我们刚刚所看到的那些代码,比如说把这个模型数据呢。哎,把模型数据暴露到我们的request里面,刚刚看过吧,是不是,你看从这个地方进去以后呢,不就是迭代我们的map放到这个request里面吗。是不是啊?能看懂吗?OK,好,所以说呢,你看了哈,在这个a resources维中,它对这个方法呢进行了一个实现,然后呢,这里面呢,有这个暴露模型数据到request中,最终呢获取我们的转发器,然后呢,最终呢完成这个转发操作,因此现在你能明白视图对象的作用了吗?
12:08
是不是帮你处理模型数据,你看哈,是不是帮你去处理这个模型数据,处理完成以后呢,再帮你做一个重定向啊这个转发的操作吧。对不对,所以说我在这个位置给大家去加了一句话,就是什么呀,主要是完成转化或者是重立向的操作,重立项我们暂时没有看到,我们等讲这个重立项的时候再来给大家去说到明白这个意思了吗?听懂了吧?OK,那么这就是我们视图里面需要给大家介绍的一些东西。啊。
我来说两句