00:00
好,我们刚才呢,完成了咱们这个员工的分页查询,我们这个分页查询呢,也写的非常简单,从首页,哎,咱们这个首页直接转到EPS这个请求,而这个请求呢,由我们控制器收到。查出我们分页的数据以及分页信息,然后转发到list页面来,我们使用C及EL表达式就把这个页面就便利展示出来了,但是我们现在的这种做法啊。诶,它只能适用于我们这个浏览器,哎,我们这个浏览器与服务器的这个交互模型,而在我们这个移动互联网的这个时代,那我们的这个客户端发起请求的时候,这个客户端不仅仅是浏览器呀,它有可能是,可是我们安卓客户端也有可能是我们iOS客户端,那他们要给服务器发请求,服务器如果再转发一个页面给他们,把页面的数据交给我们这两个客户端的话,那么他们做这个解析就比较费劲了,所以说呢,我们,哎现在最长的解决方案应该是服务器将有效的数据以杰森的形式诶返回给咱们这这些客户端,这样的话呢,浏览器解析节省也方便,安卓iOS他们解析节省也都很方便,所以说呢,哎,我们。
01:33
把我们这个查询,我们从现在开始也做一个纯的咱们这个AX应用,哎,我们整个增删改查,那纯粹都来用as,这样就提升了我们这个系统的扩展性,和咱们这个平台无关,也就是说呢,你不管你的客户端平台,你用的是安卓iOS还是浏览器都行,因为我们返回的都是JS,所以说呢,我们现在来开始改造我们这个查询。
02:01
这个查询呢,我们使用纯A来进行,那这样的话,我们的逻辑就会变成咱们这个in,对JSP页面,哎,我们不是转发到一个请求了,而是这个页面直接咱们这个发起发送Ajax请求。A,请求进行查询,进行咱们这员工。员工。分页咱们这个数据啊,咱们这个查询把这个数据查出来以后呢,哎,我们服务器将查出的数据。将咱们这查出的数据以咱们这个杰森字符串的形式形式返回给咱们这个浏览器,而我们这个浏览器呢,浏览器收到咱们这个JS字符串。
03:02
字符串,收到这个字符串以后呢,啊,可以使用,可以使用咱们这个GS啊,对咱们这个JS进行解析。然后呢,呃,可以使用GS。咱们这个通过咱们这个do增删改的形式。啊,通过DOM增删改的形式来改变页面,所以说呢,我们这个应该是我们Ajax来查询的整体逻辑啊,这样的话呢,返回HX哎不是返回A返回JS就可以啊实现实现咱们这个呢啊客户端的。咱们这个啊无关系。比如说呢,哎,你这个客户端,你随便用浏览器还是用安卓我们都行,那么这样的我们整个系统呢,我们来用as来改造,好,我来到我们这个方法,我们来看我们的这个页面,我们之前页面呢,都是in,对哎直接转到EPS请求,我们的控制器收到这个EPS请求,哎,它会为我们转发到list页面。
04:16
而我们现在呢,呃,就可以不这么做了,我们将咱们这个重要的这个分页数据,哎,我们直接以阶层串的形式返回,好,我这个方法呢,我把它除掉,我们来写一个处理咱们这emps请求的新的方法,Public,好,因为我们这个页面需要咱们这个分页数据啊,所以说呢,我直接返回配英对象。哎,这样直接能返回的原因是因为我们VC一个response body,它就能自动的把返回的对象转为杰字符串,好我们就这么写,那么这个方法呢,我们就叫get emps4咱们这杰S,哎,我们会返回一个杰森字符串,那么逻辑也都一样,来页面呢,发请求的时候带上你要第几页的数据,好我们呢,查询数据,我把查询数据这一堆内容拿过来。
05:14
以前呢,这一块需要放在咱们这个请求域中,现在我们就不放,直接通把这个配置对象返回回去,这样的话呢,我们这个浏览器就会收到咱们这个返回的JS字符串,好它来处理咱们这个requestp,哎,它是新的处理我们这个EPS请求的这个方法好。而这一块呢,我们得注意一下,我们这个response body要能正常工作,哎,我们需要咱们这个导入这个扎包。X啊,咱们这个包,这个包呢,负责将我们这个对象转换成接送字符串,我们来到咱们me的中央仓库中,好,我们来搜索这个就消这好就是它点search,好就是这个data b,我们这个数据绑定的点进去,我们把它的坐标拿过来。
06:12
好,我们就按这个2.88。把它的坐标拿过来,我们在POM文件中,我们新增咱们这个Jackson的支持。好,我们就放在这个web mvc上,这个呢,是啊,咱们这个。啊,返回咱们这个JS字符串啊,咱们这个支持好,我们把这个导进来,导进来以后呢,我们这个me,呃中就会多有我们这个贾克斯相关的这个包,诶这三个。啊,核心包注解,还有咱们这个数据绑定的好,然后呢,我们发这个请求帮我们返回,哎,咱们这个分页的这个数据,我们来测试一下。我直接启动。
07:03
启动好我们这个服务器,启动我来浏览器发送EPS请求。好,我们现在来看这个EPS请求。我们来把这个请求发出来。走诶,我们来看它就会返回结算数据,这里边呢,包含我们分页信息,Page置number,第几页page置size,哎,每页大小等等等等,接下来这个list里边就包含我们这个员工数据。这些属性我们可以对比,咱们这个配置应放对象来看,哎,我们这是查到的我们分页的员工数据,我们传入了这个配置应port带两个参数的构造器,把它点进去,哎,你像这些page number page size,哎,这些数据都在这里边有包括呢,哎,我们这个总页数,总计录数,还有这个list,这个list呢,我们来往下看,这个list在我们这个两个参数的构造器中,哎,它判断了一下,如果这个list是配置对象,我们不是,如果这个list是咱们这个集合,他把这个list就付给了我们这个list,所以说这个list就是我们啊,所有的员工数据都在这儿。
08:21
所以说呢,哎,我们返回的这个才是我们要在页面解析显示的。而且我们这个要做翻页也非常简单,哎,我们这个呢,只需要带上page number这个参数,比如我要去第五页走,诶我们这一块呢,查到的就是第五页数据,哎,我们这个呢,总页数201条,我们的数据就在这个list里边,诶是咱们这个中括号开始到这个中科号结束的这些员工数组好。我们把这个数据呢,就应该去页面进行显示,但是我们返回的这个配置英放,哎就是它它呢其实有一些问题,因为它不具有一定的通用性,比如我们这个删除或者修改或者添加,那你这个执行完发完请求以后,服务器到底删除成功失败,这些我们经常呢,把这些状态信息应该通知给浏览器,所以说呢,我们来设计一个通用的,咱们就要返回,哎,而且呢,能带有我们对当前请求的这个处理信息的,比如呢,我们在这个B里边,好,我来设计一个通用的返回类。
09:32
这个类呢,我们就叫message好,它的作用呢,就是一个专门用来哎返回结算数据的通用的,咱们这个返回咱们这类好,这个里边呢,有我们两个呢,我们后来经常要用的,比如一个int code,哎这个code呢,我们就是认为它是咱们这个状态码。状态码,比如说呢,如果我服务器给浏览器返回100,那就代表我服务器处理成功了,如果我们返回200,就代表服务器处理失败了,当然这些一百两百都是我们自己定义的,哎,大家想定义什么都是都可以,哎只要制定统一标准就行,比如呢,再有一个叫private message,那么这个message呢,就是我们这个提示信息,哎,比如我们这个成功失败错误的原因啦,我们提示信息包括我们这个用户啊,我们用户要返回给返回给咱们这个浏览器的数据啊,我们为了设计的更通用一点,我们可以把这些数据都放在这个map中,这个map呢,保存了咱们这个用户要返回给浏览器的数据,这个map呢,我们就叫extend,哎,那么这个扩展呢,比如呢,它是一个叫哈希map,用户的数据呢,都放在这个哈希map里边,我们返回的杰森里边就有状态码,有提示信息。
10:56
还有用户的这些数据,好,我们把这个get set方法加上。
11:04
好,因为经常会有成功失败,哎两种返回,我们就先定义两个最快捷的成功失败方法,一个static,哎为了方便起见,都是static返回一个message,哎,它是success代表呢,我们这个啊请求成功了,成功的话呢,我来用一个message。这个message呢啊,是我们的返回结果,我们把这个结果呢,我们给它设置上状态码,比如呢set code啊,我们成功我们是100啊我们呢,也可以给它设置上提示消息message。点set message。比如呢,我们就叫处理成功好,然后呢,我们再把这个东西给它返回return,咱们就叫result。好,失败也一样,我们有上两个最快捷的操作,好我们这个呢,就叫费失败,失败了以后呢,哎,这状态嘛,就是200提示信息,就是处理失败,哎,那么这样的话呢,我希望我们这个控制器这一块呢,返回message对象就行了,那么这个message呢。
12:19
我们来看啊,成功了,我们就是这么这么来写,直接return一个,咱们就message.success但是我们用户的这些PA置应,像这些信息怎么办呢?我希望如果能面试操作点and有一个添加方法,我把我要携带的数据K,我放在这数据的值,哎,我放在这儿,如果还要携带什么,我们继续点and,哎,我们希望呢,可以这么念试操作,那么这样的话呢,我们就给我们这个message对象中,哎,我们来定义一个方法。哎,这个方法呢,要能面试操作,它呢,返回还是message对象,我们就叫and and呢啊,它用户自定义数据的这个K,以及用户定义的这个数据的VALUE6,那么呢,我们这个k value6呢,就是啊当前对象点我们把它的这个extend map拿过来给它里边放数据,K就是它,哎,Y就是它,好那么呢,我们最终啊把这个this对象返回。
13:27
好,就是这样,我们来定义一个快捷的添加这些信息的办法,好,那么这样子的话呢,我们返回的最终是这么一个message对象,它就有一定的通用性了,好,我把这个服务器启动,我们再来看我们新的返回出来的对象。好,我在这儿发请求,我要第五页数据走,好,那这样的话呢,这就是我们新的返回对象里边呢,有状态码啊,如果收到我们收到100,我们就认为成功了,有提示信息,哎,我们自己的信息都在extend里边配置应付,这是我们分页信息,分页信息里边呢,包括咱们这个页码,以及它里边要用的这个历史的数据,以及还有其他的信息等等,都在咱们这个配置info里边,好,这就是我们最终要解析的数据,那么接下来我们就从咱们这个首页出发,我们来发一个Ajax请求,拿到这些数据,然后呢,把这些数据我们做拿GS解析出来,使用DOM增删改的形式把这些数据显示出来,好,我们下一堂课来做这个事情。
我来说两句