1 做根本页面,先把数据导入,还有相干依赖,8个。
1.1首先改配置文件
2.1 先创立管制类,负责管理所有的页面申请。
能够启动测试了,看一看,根底页面是否搭建实现。
这是应该查问到 的界面,以及接下来的思路。日志治理就是一个dom元素。
接下来就是技术解决了。
点击发动异步申请。
操作:1 在starter.html注册事件。
先获取日志治理的Id(load-log-id),就是在F12界面关上去看。在这个按钮点击注册函数。下一句解析,jquery中load函数向服务器发送ajax函数,间接把url加载过去的函数更新指定的的那局部,如图红色点。
对应的写函数,上面有错,少写和箭头
那么url是哪一部分,加进去,要加载哪一部分到指定地位。
这个页面,心愿放在templates,去解决,所以放那里。
这个目录下,是不能间接拜访的,所以要去配置一个Controller了。
这个是页面申请,所有的页面申请都是在PageController外面。
操作:
对应心愿到的路劲。能够启动测试。
日志列表页面加载实现,就是log-list,还心愿日志页面j加载实现之后,在把分页页面显示在这里,部分刷新,ajax。回到PageController里增加一个返回的办法这个是服务端,上面须要在客户端log-list。
log-list页面里是有一块区域来贮存分页元素的
因为其余中央都须要用,所以写个函数拿出去。
让所有的都能够拿到分页页面,加载到doPageUI。作为全副的一部分,所以能够应用$.
优化版写法,js加载后,在去实现这个函数。
操作:能够把
starter.html共性的提取进去,因为,都是加载不同模块的id,不日日志治理,菜单治理这些,所以能够提取共性,第二张代码。
在增加,只须要改括号外面就能够了。抉择指标,能够基于id去选,也能够在class前面的就是类选择器,能够拿一个也能够拿两个!看不懂,去F12写一写
bc2735d75c10d802a8988254dad339d.png
那个#id就是下面那个load—log-id一样的
跟着时序图去写。
上面是一样的写法
接下做的步骤!
设计原理:
从数据层开始写,放在一个pojo外面去贮存,通过list去,不是把所有记录都取出来,按页去取,因为不可能把所有记录都显示进去,那就得计算分页,那么就须要总记录数,先把总记录数取出来,能力分页。@Repository是形容类,代表是在数据层pojo。数据层要返回业务层接口那边,在业务层就波及到了计算,给了一个总记录数就能计算总页数。在业务层收到了List汇合和row count两个数据所以还须要进行封装(也能够用map)。list是传到了业务层,接口这边,业务层返回到管制层也须要进行数据封装,因为还有谬误的数据,是失常还是谬误,所以也须要封装。让客户端须要辨识进去,加一个状态码。
当前页是基于点击事件,进行扭转的,比方首页,上一页,下一页,尾页,而总记录数是数据库总记录数,总页数依据总记录数去计算,不是查问进去的。
操作:1 封装数据库返回数据!所有封装进行序列化接口,将对象转化为字节不便贮存或传输d0e6b84ae02b99ae079d1d0f655fb05.png
2接口
这个是须要查问进去的
一行记录映射一个对象,参数的设计应该有它的名字,起始地位,从哪里开始查,依据别设计写。
3建设映射文件
所以的select都必须有一个resultType,这是一行映射一个记录的意思
名字跟记录相匹配的,就记录一下。
limit从什么地位开始取,去几条。
order by降序排序
能够提取共性,能够测试。
建设测试类
取出admit的记录,从0开始,拿3条
g](/img/bVbOIk1)
数据层完结,开始业务层。
操作:在接口写查询方法。参数,返回值的思考看
客户端会传什么值,比方以后的页码,用户名啊。不晓得返回值是啥就用Object。
这个返回值要封装数据层返回的数据,以及通过计算的页码值,所以能够创立一个对象,在建设一个类(解决要返回的值)。如果返回值很大。int值满足不了,能够改long。
records当前页记录。psgeCount总页数,rowCount总记录数,须要计算总页数还须要一个每页显示多少记录pageSize.还会显示以后页码值。
优化:让其它除了日志模块也可应用!
1599985608(1).png
变成泛型类
T就是一个变量!,当前能够写多个
对应的也要改,传进来的是SysLog!这个返回值就是封装查问和计算结果的一个分页对象
1599989507(1).png
持续操作:建设impl实现类
startIndex开始页的数,pageCurrent当前页码数,pageSize一页记录多少。而后须要封装这个数据,所以创建对象。通过算法求总页数,总记录数除以每页显示数。
返回的是po。
如果,拿到的后果是0,就没必要执行上面的程序,所以。username是能够为空的,而pageCurrent是不能为空的!这个抛出异样是非查看异样
1599990933.png。
这个到运行时才会报错,所以创立一个类去继承RuntimeException,也要序列化,解决异样
能够按父类来生成构造函数
不晓得就都生成。
要简化流程,在PageObject设置有参和无的构造函数,@NoArgsConstructor就是无参结构。因为这个其余的页码也是能够应用的 ,所以在公共最好。
放在构造方法外部去计算,意思是把计算那局部也放在公共里去
持续测试类测试
业务层把数据给管制层了,数据有对有谬误的。
传统写法,为了给数据增加一个状态,减少一个类响应到管制端。封装调用简略。
之后就能够扭转返回值为JsonResult
进阶,不做try,catch的重复性工作,解决异样的web包,加非凡标记
。。。
测试方法
客户端的出现
哪里须要出现数据
页面加载实现之后还想进行退出页面操作间接加函数在原有地位。
在log_list页面在!
72cf8cb13239706a0d086c69006f1c6.png
在配置页面,page.html文件下写公共的,通过类选择器取得数据。
前面就是事件处理了。