datatable java实现分页_DataTable+SpringMVC实现分页

本文介绍了如何使用DataTable JavaScript库结合SpringMVC在Java后端实现分页功能。首先,从datatable官网下载所需资源并引入到项目中。接着,初始化DataTable,配置分页、排序和数据加载。然后,创建一个DataTable公用类,包含分页参数、搜索条件等字段。在Controller层,接收DataTable请求参数,执行数据库查询并返回分页数据。
摘要由CSDN通过智能技术生成

1、datatable官网下载js,css http://www.datatables.club/ 然后页面引用

2,初始化datatable

/**

* 交易信息

* @type {{init: transaction.init}}

*/

var transaction={

init:function(){

transaction.initDataTables();

},

//初始化dataTable的方法

initDataTables:function () {

$("#transactionTable").DataTable({

processing: true,

serverSide: true,

aLengthMenu: [5, 10, 20], //更改显示记录数选项

pagingType: "full",

bSort: false,// 排序

ajax: {

url: "/get/data.json",

type: "POST",

contentType: "application/json",

data: function (ds) {

return JSON.stringify(ds);

}

},

searching: true,//是否开始本地搜索

columns: [

{"data": "id"},

{"data": "shpcoinUsersModel.email"},

{"data": "shpNum"},

{"data": "moneyNum"},

{"data": "shpcoinCurrencyModel.name"},

{"data": "createDate"},

{"data": "state"}

]

});

}

}

3、DataTable 公用Class

package com.pizi.utils;

import java.util.ArrayList;

import java.util.List;

public class DataTables{

//基本类型

private int draw;

private int start;

private int length;

//集合类型

private Search search=new Search();

private List order=new ArrayList();

private List columns=new ArrayList();

public int getDraw() {

return draw;

}

public void setDraw(int draw) {

this.draw = draw;

}

public int getStart() {

return start;

}

public void setStart(int start) {

this.start = start;

}

public int getLength() {

return length;

}

public void setLength(int length) {

this.length = length;

}

public Search getSearch() {

return search;

}

public void setSearch(Search search) {

this.search = search;

}

public List getOrder() {

return order;

}

public void setOrder(List order) {

this.order = order;

}

public List getColumns() {

return columns;

}

public void setColumns(List columns) {

this.columns = columns;

}

//获取search value

public String searchValue(Search search){

return search.getValue();

}

}

//条件查询参数

class Search{

private String value;

private boolean regex;

public String getValue() {

return value;

}

public void setValue(String value) {

this.value = value;

}

public boolean isRegex() {

return regex;

}

public void setRegex(boolean regex) {

this.regex = regex;

}

}

class Order{

private int column;

private String dir;

public int getColumn() {

return column;

}

public void setColumn(int column) {

this.column = column;

}

public String getDir() {

return dir;

}

public void setDir(String dir) {

this.dir = dir;

}

}

class Columns{

private String data;

private String name;

private boolean searchable;

private boolean orderable;

private Search search=new Search();

public String getData() {

return data;

}

public void setData(String data) {

this.data = data;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public boolean isSearchable() {

return searchable;

}

public void setSearchable(boolean searchable) {

this.searchable = searchable;

}

public boolean isOrderable() {

return orderable;

}

public void setOrderable(boolean orderable) {

this.orderable = orderable;

}

public Search getSearch() {

return search;

}

public void setSearch(Search search) {

this.search = search;

}

}

4、Controller 接收设置

/**

* datatable 相关操作

* @param dataTable

* @return

*/

@RequestMapping("data.json")

@ResponseBody

public Map queryDataTableList(@RequestBody DataTables dataTable){

Map map=new HashMap();

//获得总条数

long count= dataDao.queryListCount(dataTable.searchValue(dataTable.getSearch()));

//执行查询获取数据

List list= dataDao.queryList(dataTable.getStart(),dataTable.getLength(),dataTable.searchValue(dataTable.getSearch()));

//dataTable返回参数配置

map.put("data",list);

map.put("recordsTotal",count);

map.put("draw",dataTable.getDraw());

map.put("recordsFiltered",count);

//返回

return map;

}

这简单版的可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值