00:00
啊,其实跳到指定的页码啊,这个呢,呃,实现了,但是它还有些小问题啥小问题啊,就比如说第一个。这个问题。大家看啊,这前面这一段是什么。它是base标签的值,我们能写成logo host吗?不行,如果是写成logo host,你去访问这个页面的时候,你点的时候,它访问的是你那个电脑,那就不行了。是吧,它这个值必须要什么,跟我们的这里。在这个base标签的值一样,也必须是动态的,那咋整啊?这里不是已经取了一个base值吗?你可以把它放到这里面来,Base pass。啊,Base pass放到配域当中,然后啊,我们在这边输出其实就可以了。这也没有什么多么困难的事情。
01:04
哎,这样说就行了,那我们换过之后来试试看啊。好,我们跳二行不行啊,没问题,你看到吗?跳五没问题啊,这是一个小问题,那还有些问题就什么,那如果说他跳的是50呢,点大家看看这是不是没数据呀,哪能50呢,或者说有的人很讨厌对吧,他还给你整个负50,你说多讨厌呢。这时候咋了,怎么处理是吧,这根本就跳不了啊,这时候咱们稍微说明一下,首先呢,你要在页面这边要验证一下,如果这个值小于一,那这非法的,那肯定不能让他跳啊。这会吧,就if判断一下嘛,拿这个值判断一下,不能小于一,这个我觉得不用我讲哈,哎,然后呢,这个值也要判断一下,它不能大于总页码。
02:00
是吧,不能大于总页码,哎,就咱们了解一下。OK。那么咱们这边自己去写一下这个if判断,我就不写了啊,不写了,那么这里的难点呢,可能就是如何获取这个总页码。是吧,如果获取主页码,那我跟你说一下吧,怎么获取。怎么获取,我给你我给你我给你演示一下哈,就比如说page怎么获取,诶你看到吗,Request点。哎,配置点配置头头,这就是中叶嘛,那你漏一下。配着头就有了,你这样这样写就行了啊,来咱们刷新一下。你你看一下哈,呃,我现在总页码是多少,是六,我点是六吧。哎,那么你就你就可以拿它这里面的这个值。Page number去比较一下,不能小于一,也不能大于总页码就完了啊,这是客户端的一个比较啊,我就不写了,就把这个思路给大家提供一下就行了。
03:05
好,这是一个,那么还有就是一般的这个校验呢,还要提供服务器的,为什么?因为对于一些这个呃,老的程序员,或者是有懂行的人来说啊,它是可以越过你这个前端的,这个什么呢,GS校验的,他直接在上面输,你看直接上面输先回车就行了。是不是也能访问了,你看见了吗?啊,但是服务器它一定会经过服务器,那这个时候呢,你可以在服务器做一下校验啊做一下校验,那我们怎么做,咱们来看一下吧。呃,我们。找到这个book select。咱们在这里也要处理一下怎么处理,咱们先说一下思路。就是如果这个值大家注意看它转完之后。小于一,咱们是把它变成一啊,如果这个大于总页码,咱们也变成最后一页就行了是吧,咱们给个方案,或者说它这个值非法你不处理也行啊,一般你到了公司跟你们公司的这个产品经理啊,这个负责人是吧?呃,商量好用什么方案就行啊,咱们这里呢,就取什么呢,取一种方案就是如果它小一,咱们让它显示第一页对吧?哎,那么如果大于总页码,咱们就变成最后一页就完事了。
04:21
啊,最后一页啊,好,那么这个要在哪里做呀,我们在这个book service的配置方法里面去实现啊,就是在这里。啊,在这里来我们说明一下,那如果说。哎,Page number它小于一,哎,我们就让它等于一就好了嘛,是吧,这第一页啊,那如果说再判断。配置那么啊,那么大于总页码A,那我们就要想了,这这总页码在哪呀。
05:01
再想想这总页码在哪?这总页码是不是在?下下面下面这个地方才有啊,大家看见了吗?那你截整个代码就往下移,大家注意啊。只要大门往上移才行,否则用不了。啊,移到球总页码的后面才行,你那还没有总页码,你哪来比较啊,对吧?啊就是配置total就这样子,哎,那么如果说它大一种页码怎么办?Page the number就等于page total,我们我们管这个。叫什么数据边界的有效检查,就是检查这个开始和结束嘛,你不要超过这范围啊,它的范围呢,其实不能用的。啊,数据边界的有效检查,然后这个重新赋完值之后,再把这个有效的值付给他就行了,哎,我们这么写完之后试试看。看是不是那么回事啊啊看是不是那么回事,咱重新部署一下。
06:04
来。比如说我现在已经是负50是吧,那我我刷新一下。诶,他这是不是还没部署成功啊,部署成功了是吧,再来一次。走。大家看他是不是给你显示第一页了是吧,那如果说你你这里超过人家的最后一页走,我是不是给你显示第六页。大家看到了吗?哎,就给你显示第六页,OK,这个呢,咱们了解一下。啊,了解一下这是个方案啊,那么这个代码。大家看啊,从功能的角度上来说已经实现了,但是从这个啊,这个代码的这个什么呢?呃,合理范围或者说是优雅的角度上来说好吗?其实还不是最好的,大家想想啊,像这样的有效边界检查啊,其实每一个模块只要有分页它都要做的。啊,他都要做的,那其实我们可以把这样一个代码写到哪里,写到这个方法里面,那就省事很多了,就是你每一次设置这个值的时候,它就自动的给你检查,那么以后你只需要调用这个方法,每一个模块在做分页的时候就不用再写了。
07:13
就可以复用这些代码了啊,所以我们放到这里面就行。啊,放到这里面就行,好,这咱们了解一下啊。
我来说两句