layui实现数据分页功能_layui分页使用

layui实现数据分页功能_layui分页使用最近需要对后台的数据进行分页渲染并且需要进行表头动态渲染,因此和小伙伴一起学习了layui的数据表格渲染,然后进行了改进,成功之后记录了下来先说前端HTML和js代码先下载layuijs文件,在页面引入layui的js在HTMLboday标签中添加table容器,id为demo $(function(){ getData(); }) functiongetData(){

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

最近需要对后台的数据进行分页渲染并且需要进行表头动态渲染,因此和小伙伴一起学习了layui的数据表格渲染,然后进行了改进,成功之后记录了下来

先说前端HTML和js代码


  
  
  
  1. <script src="/layui/layui.js"></script> 先下载layuijs文件,在页面引入layui的js

Jetbrains全家桶1年46,售后保障稳定

<table id="demo" lay-filter="test"></table>

在HTML boday标签中添加table容器,id为demo

<script>
	$(function(){
		 getData();
	})
	function getData(){
		  $.ajax({  
		        type:'get',  
		        url:'interfaces/demo',  
		    	success:function(data){
					test("#demo",data,"/interfaces/userlist")
				} 
		    });  
	}
	function test(element,data,url){
		  debugger
	      var table = layui.table;
	      //第一个实例
	      table.render({
	        elem: '#demo'
	        ,height: 315
	        ,url: '/interfaces/userlist' //数据接口
	        ,page: true //开启分页
	        ,cols: [
	        	data
	        	]
	      });
	      
	}
	
	 layui.use('table', test());
	</script>

js代码中test方法的element为HTML代码中boday容器的id url为请求数据的后台地址,page属性为是否开启分页,cols中放的是getData中返回的表头信息的json数组

getData为获取动态表头,其中返回的数据格式为一个json数组,其中格式如下: 
field 和title 两个字段不能更改这个是表头的数据格式 

[{
		field: "id",
		title: 'ID'
	},
	{
		field: "name",
		title: 'mingcheng'
	},
	{
		field: "addess",
		title: 'dizhi'
	}]
layui.use('table', test()); 为进行layui分页

然后是后台接口代码,我在这里只是写了一个样例 

先说的是js代码getData访问的接口返回的数据

@RequestMapping("/interfaces/demo")
	@ResponseBody
	public List<Test> demo(){
		Test test=new Test();
		test.setField("userName");
		test.setTitle("名称");
		Test test2=new Test();
		test2.setField("realName");
		test2.setTitle("地址");
		ArrayList<Test> list=new ArrayList<>();
		list.add(test);
		list.add(test2);
		return list;
	}

然后是进行分页test方法访问的接口

	@RequestMapping(value="/userlist", method = RequestMethod.GET)
	  @ResponseBody
	  public ResultMap<List<Users>> getUserList(@RequestParam(value="dep", required=false ,defaultValue="0") int  dep,
	      @RequestParam(value="status", required=false,defaultValue="-1") int  status,
	      @RequestParam(value="duty", required=false,defaultValue="0") int  duty,
	      @RequestParam(value="relName", required=false,defaultValue="") String  relName,
	      @RequestParam(value="page", required=false,defaultValue="1") int  page,
	      @RequestParam(value="limit", required=false,defaultValue="10") int  limit) {
	    int rowIndex=(page - 1)*limit;
	    List<Users> userList=userservice.getUserList(dep, status, duty, relName, rowIndex, limit);
	    List<Users> userListSize=userservice.getUserListSize(dep, status, duty, relName);  
	    /*List<Users> allUserList =userservice.selectAllUser();*/
	    UserManagerPage<List<Users>> userPage=new UserManagerPage<List<Users>>();
	    userPage.setData(userList);
	    userPage.setSize(limit);
	    userPage.setPage(page);
	    userPage.setSizeIndex(rowIndex);
	    userPage.setCount(userListSize.size());
	    return new ResultMap<List<Users>>(0,"",userList,100);
	  }

其中 ResultMap的结构如下: 

package com.mlt.util;

public class ResultMap <T> {

    private String msg;
    
    private int code;
    
    private T data;
    
    private int count;
    
    
    


	public ResultMap() {
    	super();
    }
    
    public ResultMap(int code,String message) {
    	super();
    	this.code=code;
    	this.msg=message;
    }
    
    public ResultMap(int code,String message,T data,int count) {
    	super();
    	this.code=code;
    	this.msg=message;
    	this.data=data;
    	this.count=count;
    }
    
    
    public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	public int getCount() {
		return count;
	}

	public void setCount(int count) {
		this.count = count;
	}

	public int getCode() {
		return code;
	}

	public void setCode(int code) {
		this.code = code;
	}

	public T getData() {
		return data;
	}

	public void setData(T data) {
		this.data = data;
	}
    
    
    
}

其中的code值一定要为0,这个坑我和小伙伴用一下午才爬上来(layui官网没查到对这个有特别要求,但是只有0才能进行数据渲染) 具体数据格式如下:其中count 为数据的总条数,分页的时候用到,data为一个json数组

data中userName 和 address 要和getData获取表头json数据中filed的value值一样

{
  "count": 100,
  "code": 0,
  "msg": null,
  "data": [
    {
      "userName": "张三",
      "address": 中国,
    }
  ]
}

完成以上工作就可以进行layui的分页数据渲染

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207470.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java中高级工程师面试题及答案,Java面试题及答案汇总(二

    Java中高级工程师面试题及答案,Java面试题及答案汇总(二需要注意Jdk1.8中对HashMap的实现做了优化,当链表中的节点数据超过八个之后,该链表会转为红黑树来提高查询效率,从原来的O(n)到O(logn)24.说一下HashSet的实现原理?HashSet底层由HashMap实现HashSet的值存放于HashMap的key上HashMap的value统一为PRESENT25.ArrayList和LinkedList的区别是什么?最明显的区别是ArrrayList底层的数据结构是数组,支持随机访问,而Linke

    2022年5月11日
  • sparksql 概述

    sparksql 概述

    2021年11月27日
  • 真正理解exists 和not exists

    真正理解exists 和not exists前言今天看了下mysql训练题,其中有一题很有意思。​    下面也写了sql解答,使用了group_concat()函数,这个函数是分组后将一组的字段(比如name)拼接在一起,默认以逗号分隔。这个思路可以,但是在成绩表插入信息时的顺序是乱的,那又怎么查。    我然后看了几个其他人的答案,还有的用课程数作比较的,写的很乱很杂。想了一会,觉得使用notexists解答是可以的。exists与notexist.

    2022年7月27日
  • Java微服务下的分布式事务介绍及其解决方案

    Java微服务下的分布式事务介绍及其解决方案1.前言1.由于最近在学习springcloud的项目,现在互联网下,分布式,微服务横行,难免会遇到分布式下的事务问题,这是一个难点,也是面试经常问的,别面试官一看你简历,都是微服务项目,问你了解啥是分布式事务不,你来句没有,这就很尴尬了,当然微服务下可能没有分布式事务,但是很多场景是需要分布式事务的,下面我就来介绍下什么是分布式事务,和分布式事务的解决方案2问题描述在介绍分布式事务…

    2022年6月14日
  • 数据库习题及答案5

    数据库习题及答案5模拟测验1一、1 2 3 4 5 6 7 8 9 10A D C c D A C A A C一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分)()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。A.DBMSB.DBC.DBSD.DBA下列四项中,不属于SQL2005实用程序的是()。A.对象资源管理器B.查询分析.

    2022年11月3日
  • 轻松理解 Python 中的 async await 概念

    轻松理解 Python 中的 async await 概念前言写这篇文章是受xinghun85的这篇博客的启发,但是人家后面写的东西跳跃太快,有点没看懂,自己在此做一个补充.我希望能用一个最平易近人的例子,把Python协程中的async/await概念讲清楚,希望能够帮助大家有一个形象化的认识.注:所有的讲解都在代码的注释里.fromtimeimportsleep,timedefdemo1():…

    2022年7月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号