作为一个后端程序员,前端做的确实很丑,所以就学习了一下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数据表格导入数据的更多相关文章

  1. sqlloader导出数据和导入数据

    分类: Oracle 忙了一天终于把sqlloader导出数据和导入数据弄清楚了,累死俺了... 这个总结主要分为三个大部分,第一部分(实例,主要分两步),第二部分(参数小总结),第三部分(完全参数总 ...

  2. datagrid数据表格当数据为0的时候页面不显示数据

    如下图: datagrid数据表格当数据为0的时候页面不显示数据,为空的表格数据全是0,但是页面无法显示 传递的json数据也是没问题的: 所以实在想不通,为什么easyUI datagrid 不显示 ...

  3. oracle中使用impdp数据泵导入数据提示“ORA-31684:对象类型已经存在”错误的解决

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47448751 本文出自[我是干勾鱼的博客] oracle中使用impdp数据泵导 ...

  4. layui导出表格全部数据

    layui自带的导出表格,只能导出当前页面,如果当前页包含全部数据,那不就是导出全部数据了吗,所以我给导出事件单独定义了一个请求,当触发这个请求时,在后台查询数据时不要按接收的page 和 limit ...

  5. 使用Excel表格导入数据到Oracle表

    在工作中我们会遇到将通过数据手动录入到系统中的需求,如果数据量比较小,那么手动输入是可行的,倘若数据量很大,那么这些数据手动录入将会是一个很大的工作量,为了简化这个手动录入的操作流程,我们可以使用Ex ...

  6. Excel表格导入数据

    步骤: 1,选择要插入的数据库--右键--任务--导入数据 2,点击下一步,选择数据源,excel文件路径,和版本信息(注:使用2010及以上版本的office,请先将格式转换为03 或07格式的以便 ...

  7. oracle 导出数据和导入数据

    导出数据 exp zl_gj/zlkj@gqxt  grants=y tables=(zl_gj.ckgj,zl_gj.gjlx,zl_gj.rkgj) file=c:\gj.dmp log=c:\g ...

  8. SQL Server 2008 导出数据与导入数据任务介绍

    一. 实例数据库介绍 源数据库Test_Other_DB:存在tb_Class,tb_Student,tb_TestTable三张表. 目标数据库TestDB_Output:空库,不含任何表. 二. ...

  9. Hive创建表|数据的导入|数据导出的几种方式

    * Hive创建表的三种方式 1.使用create命令创建一个新表 例如:create table if not exists db_web_data.track_log(字段) partitione ...

随机推荐

  1. Python的数据基础库Numpy怎样对数组进行排序

    Numpy怎样对数组排序 Numpy给数组排序的三个方法: numpy.sort:返回排序后数组的拷贝 array.sort:原地排序数组而不是返回拷贝 numpy.argsort:间接排序,返回的是 ...

  2. EMC EMI EMS定义与区别

    一.EMC EMI EMS定义: EMC(ElectromagneticCompatibility) 电磁兼容,是指设备或系统在电磁环境中性能不降级的状态.电磁兼容,一方面要求系统内没有严重的干扰源, ...

  3. 使用 Vuex + Vue.js 构建单页应用【新篇】

    使用 Vuex + Vue.js 构建单页应用[新篇] 在去年的七月六号的时候,发布了一篇 使用 Vuex + Vue.js 构建单页应用 的文章,文章主要是介绍 vuex 的基本使用方法,发现对大部 ...

  4. 百度图像识别SDK实验

    软件构造实验作业 实验名称:百度图像识别SDK实验 班级:信1905-1      学号:20194171      姓名:常金悦          一. 实验要求 每个步骤必须截图并说明 二.实验步 ...

  5. sql server总结二

    一些常用查询 Insert into 表(字段一,字段二,字段三,---) values(插入一,插入二,插入三,----) Update 表 set 字段= where 字段= Delete fro ...

  6. 深度学习(三)之LSTM写诗

    目录 数据预处理 构建数据集 模型结构 生成诗 根据上文生成诗 生成藏头诗 参考 根据前文生成诗: 机器学习业,圣贤不可求.临戎辞蜀计,忠信尽封疆.天子咨两相,建章应四方.自疑非俗态,谁复念鹪鹩. 生 ...

  7. 使用基于Roslyn的编译时AOP框架来解决.NET项目的代码复用问题

    理想的代码优化方式 团队日常协作中,自然而然的会出现很多重复代码,根据这些代码的种类,之前可能会以以下方式处理 方式 描述 应用时可能产生的问题 硬编码 多数新手,或逐渐腐坏的项目会这么干,会直接复制 ...

  8. 帝国CMS 给简介字段添加一键排版按钮

    帝国CMS后台->管理数据表->选择数据表>打开smalltext字段输入表单替换html代码 添加如下代码: <script> function format() { ...

  9. eclipse项目导入工作空间提示已存在问题

    项目直接放在 workspace 目录下,必须项目名和项目文件夹名相同,主要找的是eclipse 项目文件夹下的 .project 文件中的 <name> ... </name> ...

  10. Oracle双字段约束

    Oracle里有unique约束,意思是该字段唯一. 但如果是两个字段呢? 比如说一个会员等级表 ID NAME POINT DISCOUNT PRIVILEGE MID 1019 普通会员 0 10 ...