layui数据表格导入数据

作为一个后端程序员,前端做的确实很丑,所以就学习了一下layui框架的使用。数据表格主要的问题就是传输数据的问题,这里我用我的前后端代码来做一个实际的分解。

前端部分

可以到layui官网示例中找到数据表格,复制前台代码。也可以使用我的代码。

这部分主要更改的是自己的表格属性,传值的url。细节我都写在代码注释里面了

我的分页功能好像有点问题,现在还不知到问题在哪,可以先不完成这个功能。

html

<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
<legend>学生信息表</legend>
</fieldset> <table class="layui-hide" id="test" lay-filter="test"> </table> <script type="text/html" id="toolbarDemo">
<div class="demoTable">
搜索ID:
<div class="layui-inline">
<input class="layui-input" name="id" id="demoReload" autocomplete="off">
</div>
<button class="layui-btn" type="button" id="search_btn" data-type="reload">搜索</button>
</div> </script> <script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>

JavaScript

 layui.use('table', function(){
var table = layui.table;
var $ = layui.jquery;
table.render({
elem: '#test'
,url:'ShowAllServlet'  //url写自己的后端接口,这里我是通过servlet传递json实现的数据传递
,toolbar: '#toolbarDemo' //开启头部工具栏,并为其绑定左侧模板
,defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
title: '提示'
,layEvent: 'LAYTABLE_TIPS'
,icon: 'layui-icon-tips'
}]
,title: '用户数据表'
,id: 'test' //表格的id值,可用于其他功能调用刷新表格等
,cols: [[
{type: 'checkbox', fixed: 'left'}
,{field:'id', title:'ID', width:320, unresize: true, sort: true} //field 是json数组的name值,title是表格的表头,width是表格宽度 edit是表格可以编辑,sort 属性true可以排序
,{field:'name', title:'姓名', width:320, edit: 'text'}
,{field:'sex', title:'性别', width:320, edit: 'text'}
,{field:'birthday', title:'出生日期', width:320,edit: 'text'}
,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:200} //操作是侧边工具栏的删除和编辑
]]
,page: true //分页
});

后端部分

后端我采用的servlet传递json数组,

这是layui默认规定的数据格式code

  1. {
  2. "code": 0,
  3. "msg": "",
  4. "count": 1000,
  5. "data": [{}, {}]
  6. }

在我们的servlet要把自己的list数组转换成json格式,转换方法在我的代码里面,需要导的包可以私聊我发送。

我们serlvet的思路是把MySQL中的数据全部遍历出来,然后存到arraylist对象数组中,再统一转到layui需要的json格式。

Servlet

import COM.Bean.student;
import COM.Dao.mannger;
import com.fasterxml.jackson.databind.ObjectMapper; import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; @WebServlet(name = "ShowAllServlet", value = "/ShowAllServlet") //对应表格模块的url
public class ShowAllServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
} @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8");//设置相应的文本类型
response.setContentType("text/html;charset=utf-8");//设置响应类型,并防止中文乱码
ArrayList<student> stulist = new ArrayList<>(); //定义arraylist数组
mannger dao = new mannger();
dao.stulist(stulist);
int count1 = stulist.size();  //count是数据的条数
String count = ""+ count1;
Map<String, Object> result = new HashMap<String, Object>(); //下面的部分只需要改result.put(“data”,stulist)中的stulist ,换成你自己的list
//System.out.println(paperslist);
result.put("code", 0);
result.put("msg", "");
result.put("count",count);
result.put("data",stulist);
System.out.println(result);
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString (result);
response.getWriter().print(json.toString()); //传递json给后端
System.out.println(result); }
}

效果展示

本文标题为:layui数据表格导入数据

基础教程推荐