00:00
好,那我们刚才呢,咱们说的这个similarif view,大家要知道什么时候创建的是一个similarif view,就是我们的视图名称,没有任何前缀的时候,对不对,对吧?那其实咱们能够有的前缀,能够使用的前缀其实也就两个,首先第一个就是咱们的forward冒号,还有一个就是我们的ready rap冒号,对不对,对吧?好,那forward冒号的作用是用来干什么的,大家来看啊,就比如说呀,大家都知道,那我们当前咱们所访问的好多页面呢,然后它其实有的时候是不满足我们当前的这个c Le的视图解析器的,这个大家能听懂吧。就比如说来大家看,给大家举一个例子啊,你看我们当前在咱们的控制器里面,然后咱们来写一个方法叫做来叫做。叫做request mapping,然后括号,然后比如说咱们这个就叫做test forward w怎么拼W,然后啊,Forward word是不是是这样吧,啊大for对吧?好,然后pop了一个方法,然后咱们来返回一个字符串string,好然后方法名呢,咱们也叫做test forward,能看懂吧,好然后括号,然后大括号,比如说我在这我来返回一个视图名称的时候,大家看我现在呢,比如说因为我们当前大家都知道我们的return返回的是不是应该是一个视图名称,对不对,对吧,而我当前如果我用这种方式的话,大家知道它本身就是一个转发的效果,对不对,但是我们当前咱们的视图名称是没有任何前缀的,所以说这个视图名称就会被我们的配置文件中的什么SIM live view serve所解析解析。
01:51
继成咱们的STEM view对不对,对吧,那比如说大家看我现在我要想来实现一个其他的效果,比如说我现在要通过咱们的这个控制器方法,让他转发到我们当前的这个请求,大家说可不可以?
02:07
可不可以啊,可以吧,咱们转发可以转发到一个页面,那我们可不可以转发到一个请求中啊,可,可不可以啊,可以吧,所以说我现在要来转发到我们当前的这个请求中,大家说怎么写,你能不能说我在这直接把这个东西写到这儿行不行,不行,为什么?因为大家想你在这儿所写的跟咱们上面写的是不是一样的效果,对不对?那所以说它的解析过程是不是应该跟咱们上面这个解析过程也是一样的,所以说在这个地方,我们当前的视图名称仍然会被我们当前的similar view进行解析,能听懂吧,然后来加上咱们的视图前缀,加上咱们的视图后缀去匹配相对应的页面,能听懂吧,是这样的,那所以说咱们有的时候在我们实现转发的效果的时候,大家想想我们所访问的这个页面,或者说我们最终要转发到的这个资源,它是不是并不符合咱们当前的视图解析器的规。
03:08
B等,对不对,对吧?那所以说怎么办?大家看好这个时候,如果我们要来实现的是转发的功能,那大家就需要这样写啊,来在这加上一个前缀,叫做for for forward,然后加上一个冒号,然后再加上我们当前咱们最终要访问的要转发到的资源,能听懂吧,好,然后咱们这样去写,那这个东西在被解析的时候是怎么解析的呢?大家注意会将我们当前咱们的这个前缀直接给它截掉,然后剩下的部分,然后直接通过咱们的转发,然后来跳转到相对应的资源,能听懂吧。好比如说大家看好这个时候,那我们当前所创建的这个视图就不再是c view了,当然呢,在这个过程中,它会帮助我们创建两次视图,这个大家能听懂不?首先第一次视图是不是应该是?
04:08
我们先解析这个路径,把我们的前缀去掉,然后剩余的部分是不是要通过转发来进行访问,对不对?这个过程它就会来创建我们刚才所说的转发视图,叫做internal resource view,能听懂吧,好,然后但是因为我们当前的这个是不是也是一个请求啊,对不对?所以说当他找到我们当前的这个请求映射的时候,它是不是还要再创建一次view,而这个view就第二个view就是咱们的c view了,能听懂不?啊,行,那我们在这咱们来打个断点,然后下面呢,咱们来访问一下,大家来看啊,先把它去掉,好,下面咱们来访问一下怎么来访问,首先在我们的这个页面是不是再写一个超链接,然后这个咱们叫做test,什么forward for,对不对?
05:03
嗯,多了一个T是吧?好,来大家看这个咱们是用来测试什么?View叫做internal resource viewce叫做internal resource view叫做网络资源视图,能看懂吧,网络资源视图啊,行,然后下面呢,那我们再来找到我们当前,哎,这别的就不用配置了,对不对?咱们的方法已经写过了,然后我们的超链接已经写过了,我们在这儿只需要来访问我们当前的这个超链接,然后是不是就能够匹配到我们当前的这个请求映射能看懂吧?嗯,好啊,行,那我们下面呢,那咱们就直接来进行访问,大家来看啊。好,然后咱们来把它清空一下,好,然后在这咱们直接来访问我们的这个页面,然后大家看知道为啥会有这种情况不?大家知道不,因为我们当前咱们在刷新这个请求,刷新页面的时候是不是要重新保发送这个请求,对不对,对吧?那所以说咱们的test_view这个请求是在哪处理的,是不是在咱们的test control里面,是不是在这处理的,对不对?那大家告诉我这种情况下创建的是什么?View similar live view还是internal resource view,应该是similar live view就是没有任何前缀,我们创建的就是cli view,因为这个东西是要被咱们的cli view so解析的,能听懂吧,大家就想想它之所以能够加前缀加后缀去找到相对应的页面,那不就是在咱们的配置文件中,由它。
06:45
解析之后所得到的对不对,是不是啊,好啊,行来下边那我们来把这个断点咱们给它跳过了啊,然后F9跳过,然后跳过,然后再跳过,OK,那这个时候大家看咱们是不是就已经访问到这个页面了,好,下边大家看好了,我点击测试internal resource view,点击之后咱们又一次到了到达了这个地方,这个咱们就不说了,其实咱们看到这个方法,咱们也知道这个方法的返回值就是一个model and view,其实在这个方法它最终执行的就是谁呀?我们真正的控制器方法,大家说对不对,是不是啊,在这个方法执行的过程中,最终他要执行的方法就是咱们的控制器方法是不是啊,要不然咱们怎么来获得我们封装的模型数据和咱们视图信息的model and view对象是不是啊对吧?好,然后下面大家看跳过,然后再跳过咱们进入到这儿了,对不对,然后咱们再进入到。
07:45
这个方法大家看这是不是就来查看我们当前视图的地方能听懂了,好,然后往下,然后走走,然后再走,走到这儿,大家看这个时候咱们的视图名称,大家来看一下是不是以forward开头,然后斜线test see view对不对,对吧?好,那在这个地方它是怎么来创建咱们的视图的呢?来,往下走,走到这儿,然后咱们再执行一步,是不是就可以创建我们当前的view有对象了,对不对,看好了,往下走,大家自己看,来看看这个东西,这个view什么类型的internal resource view能看懂不?所以说什么情况下创建的是inel尔的resource view。
08:29
啊,如果我们当前的视图名称的前缀为谁,Forward冒号的时候创建的是internal resource,用能听懂吧?好啊,其实如果咱们现在用的是GSP,大家注意它没有这么多什么c Le view没有大家知道,如果说咱们不用c Le,用的是GSP,我们需要在配置文件中所配置的视图解析器,它就叫做internal resource view,知道吧?所以说我们解析出来就是咱们在没有任何前缀的情况下,我们所创建的也是internal resource view,能听懂吧?那只不过我们现在用了SIM,那所以说由SIM雷试图解析器所解析出来的,那肯定就是C雷视图。
09:13
对不对,能听懂吧,啊行,OK,那咱们这个咱们就不看了F9,然后大家看又走到这了,这知道为啥,不知道为什么又走到这了,不知道,因为我们当前咱们转发到的是不是应该是咱们的这个请求,对不对,对吧,那所以说这个请求是不是会通过咱们的request mapping再次进行匹配来执行当前的这个方法能听懂吧,好,大家说这个时候咱们是不是应该算是我们第二次创建视图,那在这个过程中,第二次创建的视图是不是应该就是一个SIM view了,能听懂不好,OK,来,咱们继续,咱们跳过,再跳过,然后进入到方法中来往下走走走,或者说咱们在这那直接打个断点是不是最好一些,是不是啊,直接再跳过是不是就到这了,是不是啊,或者说咱们直接在这打个断点了,可不可以啊,好往下走走,大家看一下在这咱们获取到了没有,嗯。
10:14
哦,还没执行呢,是吧?好,然后咱们来执行一下,大家看一下啊,是similar view,不是,是不是知道啥意思不?第一次我们是通过转发,转发到了某一个请求中,对不对,对吧?然后呢,第二次当我们转发到这个请求的时候,这个请求就会执行,它所对应的控制器方法就会执行,我们第二次所返回的视图名称是不是就是success,所以说第二次创建的就是一个similar view,能听懂吧,因为大家都知道用了c Le之后,这个HTML你能直接访问,不能不能,我们是不是必须得通过转发去访问呢,是不是。是不是是吧,啊,咱们只能通过转发去访问,所以说呢,那我们现在我们要想去转发到某一个具体的HTML页面,你能直接访问这个页面吗。
11:08
啊,如果说我们现在大家注意,就比如说我现在要来使用我们当前咱们的这个东西啊,Forward冒号能看懂吧,然后你在这能不能写一个具体的页面,让他去跳转行不行,行不行不行,因为咱们的页面必须得通过服务器访问,能听懂吗?必须得通过咱们的转发访问,所以说如果你要通过这个东西,然后来跳转到指定页面,你要么你就不加,大家说对不对,对不对,你要么呢,你只能转发到一个什么。只能只能转发到一个什么是不是来跳转到咱们的某一个H7ML的请求,大家说是不是是不是好啊行,这个大家要注意啊,好,然后那我们下面咱们把它敲过就OK了啊好,那这个是我们当前的一个internal resource,这个大家能听懂吧,什么时候创建in resource view视图名称以什么开始啊,Forward冒号开始能听懂吧,好啊,但是说实话用的不是很多,既然咱们现在咱们的这个S用呢,本身就是要通过转发去访问的,那咱们还用这个东西不用了,不用,但是咱们的重定向,咱们该用还是要用的,知道吧,为啥?因为重定向的话,然后是不是可以改变咱们地址啊中的地址是相当于咱们浏览器再一次发送请求去访问的,对不对,对吧,那我们成功之后,就比如说我们的某一个业务逻辑操作成功之后,像咱们的添加成功,修改成功删。
12:44
图成功之后,和我们原来的请求是不是就没有关系了,所以说这个时候咱们是不是就需要通过重定向来跳转到我们的下一个功能了,对不对,对吧,那如果你用转发,那是不是还保留了咱们上一次请求的路径了,是不是啊,是不是啊,所以说在咱们的业务逻辑操作成功之后,我们都要通过重定向来实现页面跳转,能听懂吧,好啊,行。
我来说两句