最近我在参与写一个CRM系统的项目,主要框架是SSM,用springboot来写,前端使用layui框架,然后发现的一些问题。工具使用的是idea
官网的数据表格直接复制会报错
因为要使用数据表格分页,还有分栏,所以就直接去官网上拷贝基础代码,做个基本布局,按照官网上说的,改变了css和js位置的路径就ok了,但是我运行时就报错了,直接从
,cols: [[
{type: 'checkbox', fixed: 'left'}
,{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true}
,{field:'username', title:'用户名', width:120, edit: 'text'}
,{field:'email', title:'邮箱', width:150, edit: 'text', templet: function(res){
return '<em>'+ res.email +'</em>'
}}
,{field:'sex', title:'性别', width:80, edit: 'text', sort: true}
,{field:'city', title:'城市', width:100}
,{field:'sign', title:'签名'}
,{field:'experience', title:'积分', width:80, sort: true}
,{field:'ip', title:'IP', width:120}
,{field:'logins', title:'登入次数', width:100, sort: true}
,{field:'joinTime', title:'加入时间', width:120}
,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
]]
这个位置开始报错,我就很纳闷了,直接从官网上复制了,怎么这里报错,后来,找了很久,改了很多地方,才想到会不会是代码的中括号不规范,于是我把两个中括号空开分行,下面也是一样。
,cols: [
[
{type: 'checkbox', fixed: 'left'}
,{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true}
,{field:'username', title:'用户名', width:120, edit: 'text'}
,{field:'email', title:'邮箱', width:150, edit: 'text', templet: function(res){
return '<em>'+ res.email +'</em>'
}}
,{field:'sex', title:'性别', width:80, edit: 'text', sort: true}
,{field:'city', title:'城市', width:100}
,{field:'sign', title:'签名'}
,{field:'experience', title:'积分', width:80, sort: true}
,{field:'ip', title:'IP', width:120}
,{field:'logins', title:'登入次数', width:100, sort: true}
,{field:'joinTime', title:'加入时间', width:120}
,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
]
]
之后果然运行没有报错了。
但是这个解决了,我输入网址,它又出问题了,首先是页面,报500,出了个映射文件出错,但是我映射文件我都没写,(因为只是先搭建页面),这我就很纳闷了,最终找到了这个问题。
关于引用官方代码出错问题2
首先我们写的这个crm系统的pom.xml文件里面是加了thymeleaf的,这个也就意味着,我引用的css和js,都必须要用thymeleaf格式引用。
这是我之前引用到项目的layui位置,然后报错
<link rel="stylesheet" href="lib/layui/css/layui.css" media="all">
<script src="lib/layui/layui.js" charset="utf-8"></script>
但是springboot用了thymeleaf之后,就应该改成
<link rel="stylesheet" th:href="@{./../static/lib/layui/css/layui.css}">
<script th:src="@{./../static/lib/layui/layui.js}" charset="utf-8"></script>
当然也有可能是我上面直接引用写错了,写个没有引用的上去,所以就没有页面。(这个我也是后来才写完这个之后才想到的,会不会是我引用路径错了,所以就没改上面的了)
最终果然是我引用没进去,这个没有thymeleaf的引用得
<link rel="stylesheet" href="/static/lib/layui/css/layui.css">
<script src="/static/lib/layui/layui.js" charset="utf-8"></script>
少了一个根路径,(哈哈,作者有时没想到这个),所以,这个引用的时候还是得注意下,希望对你们有所帮助