SpringBoot 查询到mysql数据,用bootstrap table表格渲染不显示数据,请大家帮忙看看,谢谢
html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>bootstrap-table使用title>
<link rel="stylesheet" type="text/css" href="js/bootstrap.min.css" />
<script src="js/jquery.js">script>
<script src="js/bootstrap-table/bootstrap-table.min.js">script>
<script src="js/bootstrap-table/bootstrap-table-zh-CN.js">script>
head>
<body>
<table id="tb_departments" data-toggle="table">table>
body>
<script type="text/javascript">
$(function(){
var oTable = TableInit();
oTable.Init();
});
function TableInit() {
var oTableInit = new Object();
//初始化Table
oTableInit.Init = function() {
$('#tb_departments').bootstrapTable({
url: "stu",
pagination: true, //分页
search: false, //显示搜索框
sidePagination: "server", //服务端处理分页
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 5, //每页的记录行数(*)
responseHandler:function(res) {
return {
"total":res.total, //总页数
"rows": res.data //数据
}
},
columns: [
{
title: '序号', //标题 可不加
width:'64px',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
return index+1;
}
},
{
title: '姓名',
field: 'sname',
align: 'center',
valign: 'middle',
},
{
title: '性别',
field: 'ssex',
align: 'center',
valign: 'middle',
},
{
title: '年龄',
field: 'sage',
align: 'center',
valign: 'middle',
},
{
title: '唯一标识',
field: 'sid',
align: 'center',
valign: 'middle',
}
]
});
};
return oTableInit;
};
function selBycondition(){
var url = "/test/getPage?name=aaa";
$("#tb_departments").bootstrapTable('refresh',{'url':url});
}
script>
html>
package com.example.demo.controller;
import com.example.demo.entity.Student;
import com.example.demo.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
public class StudentController {
@Autowired
StudentService studentService;
@RequestMapping("/stu")
public Map findAll(){
List list = studentService.findAll();
Map map = new HashMap();
map.put("total",list.size());
map.put("rows",list);
return map;
}
}
package com.example.demo.service;
import com.example.demo.entity.Student;
import com.example.demo.mapper.StudentMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class StudentService {
@Autowired
private StudentMapper studentMapper;
public List findAll(){
return studentMapper.findAll();
}
}
bootstrap.min.css 没引入成功 。可能是 路径错了 。
其次 你需要 responseHandler 打印一下 res看看是否 请求到数据了
bootstrap_table页面配置的问题
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-table.min.css">
<script src="js/jquery.js"></script>
<script src="js/jquery-3.6.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/bootstrap-table.min.js"></script>
<script language="JavaScript">
const TableInit = function () {
const oTableInit = {};
//初始化Table
oTableInit.Init = function () {
$('#bootstrap_table').bootstrapTable({
url: '/stu', //请求后台的URL(*)
method: 'get', //请求方式(*)
async: true, //true表示执行到这,ajax向后台发起访问,在等待响应的这段时间里,继续执行下面的代码
//设置为true,基本都是后面的代码(除非还有ajax)先执行
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: true, //是否显示分页(*)
queryParams: oTableInit.queryParams,//传递参数(*)
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
paginationPreText:'<', //上一页按钮样式
paginationNextText:'>', //下一页按钮样式
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 5, //每页的记录行数(*)
pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
contentType: "application/x-www-form-urlencoded", //重要选项,必填
showColumns: true, //是否显示所有的列
showRefresh: true, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
clickToSelect: true, //是否启用点击选中行
// height: 700, //行高,如果没有设置height属性,表格自动根据记录条数决定表格高度,最好不要设置这个属性
uniqueId: "yes", //每一行的唯一标识,一般为主键列
showToggle: true, //是否显示详细视图和列表视图的切换按钮
cardView: false, //是否显示详细视图
detailView: false, //是否显示父子表
columns: [
{
field: 'sid',
title: 'ID',
editable: {
mode: 'inline'
}
}, {
field: 'sname',
title: '用户名'
}, {
field: 'sage',
title: '年龄'
}, {
field: 'ssex',
title: '性别'
}
],
rowStyle: function (row, index) {
const classesArr = ['success', 'info'];
let strclass = "";
if (index % 2 === 0) {//偶数行
strclass = classesArr[0];
} else {//奇数行
strclass = classesArr[1];
}
return {classes: strclass};
},//隔行变色
});
};
//得到查询的参数
oTableInit.queryParams = function (params) {
const temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
start: 1,//params.start
limit: params.limit, //params.limit, 页面大小
sid:"01",
testNum: 445,
testNum1: 343
};
return temp;
};
return oTableInit;
};
$(function () {
//1.初始化Table
const oTable = new TableInit();
oTable.Init();
});
</script>
<title>bootstrap_table 表格</title>
</head>
<body>
<div class="container">
<table id="bootstrap_table"></table>
</div>
</body>
</html>
StudentMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.StudentMapper">
<select id="findAll" resultType="com.example.demo.entity.Student">
select * from student order by sid asc limit #{start} , #{limit};
</select>
<select id="findOne" parameterType="String" resultType="com.example.demo.entity.Student">
select * from student where sid = #{sid};
</select>
<select id="findByUserId" parameterType="String" resultType="com.example.demo.entity.Student">
select * from student where sid = #{sid};
</select>
</mapper>