提起重载表格,一般有两种情况;
1.刷新表格,回到第一页;
2.带着已知条件(带有模糊搜索的条件)回到当前页;
前段页面js:
说明:三个条件是搜索的条件;page可以使用js获取当前页的页码传到后台,亲测有效;
/**重载表格**/
$('.demoTable .layui-btn').on('click', function () {
reloadTable($("#username").val(),$("#mobile").val(),$("#email").val());
});
/**重载的函数
* */
function reloadTable(username,mobile,email){
table.reload('adminUserReload', {
where: { //设定异步数据接口的额外参数,任意设
username:username,
mobile:mobile,
email:email
}
, page: {
curr: 1 //重新从第 1 页开始
}
});
}
后台控制层:我没有在控制层小括号接收参数,这样子非常不方便,而是封装了个ReqAndResData去接收并返回数据。可以动态的接收任何String类型的参数。
/**
* 获取所有的管理员的列表
* @return
*/
@RequestMapping(value = "/getAllAdminUserList")
@ResponseBody
public LayuiRes getAllAdminList(){
ReqAndResData reqAndResData=new ReqAndResData(this.getRequest());
List<User> userList = userService.getUserList(1, reqAndResData.getReqMap());
PageInfo info = new PageInfo(userList);
return reqAndResData.getLayuiData((int)info.getTotal(),info.getList());
}
工具类:很好理解,方法上有相应的注释;
package com.lhl.utils;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author lhl
* @version 1.0
* @date 2019/11/14 23:12
* @description 请求参数和返回数据包装
*/
public class ReqAndResData<T,k>{
private static Map<String, Object> reqMap=new HashMap<>();//http的request请求
/**
* 具体返回哪个类型,根据具体需求----如果简单的需求,可不用该类。
*/
private T resData;//映射的一个实体还是一个map都可以或者集合形态,都行。返回信息。
public ReqAndResData() {
}
/**
* 实例化时候自动获取请求参数。
* @param request
*/
public ReqAndResData(HttpServletRequest request) {
Map<String, String[]> parameterMap = request.getParameterMap();
for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
reqMap.put(entry.getKey(),entry.getValue()[0]);//这里暂不考虑同名的请求参数
}
}
public Map<String, Object> getReqMap() {
return reqMap;
}
public void setReqMap(Map<String, Object> reqMap) {
this.reqMap = reqMap;
}
public T getResData() {
return resData;
}
public void setResData(T resData) {
this.resData = resData;
}
/**
* 获取layui表格要求的返回值类型
* @param total
* @param data
* @return
*/
public LayuiRes getLayuiData(Integer total, List<Object> data){
return new LayuiRes(0,"",total,data);
}
}
效果图例一:
效果图例2:
有啥不懂得小伙伴们加群交流啦:852665736;本群致力于一同进步的小伙伴们,大家一起交流探讨,在陌生的城市感受温暖;
无偿免费分享源码以及技术和面试文档,更多优秀精致的源码技术栈分享请关注微信公众号:gh_817962068649