1.问题描述
我们都知道thymeleaf框架在js脚本内获取后台的session或者model里面的值是需要用到[[${}]]类似格式的,但是[[]]格式在js中也可以定义为数组,这就导致当layui中table下的cols属性利用[[]]格式存放字段配置时,thymeleaf扫描cols无法识别从而导致程序报错。报错如下:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22<script type="text/javascript" th:inline="javascript"> layui.use('table', function(){ var table = layui.table; var id=[[${id}]] //利用thymeleaf获取session或model值 table.render({ elem: '#test' ,url:'/demo/table/user/' ,cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增 ,cols: [[ {field:'id', width:80, title: 'ID', sort: true} ,{field:'username', width:80, title: '用户名'} ,{field:'sex', width:80, title: '性别', sort: true} ,{field:'city', width:80, title: '城市'} ,{field:'sign', title: '签名', width: '30%', minWidth: 100} //minWidth:局部定义当前单元格的最小宽度,layui 2.2.1 新增 ,{field:'experience', title: '积分', sort: true} ,{field:'score', title: '评分', sort: true} ,{field:'classify', title: '职业'} ,{field:'wealth', width:137, title: '财富', sort: true} ]] }); }); </script>
2.解决方法
在cols属性里面添加注释,避开thymeleaf扫描即可。解决如下:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <script type="text/javascript" th:inline="javascript"> layui.use('table', function(){ var table = layui.table; var id=[[${id}]] //利用thymeleaf获取session或model值 table.render({ elem: '#test' ,url:'/demo/table/user/' ,cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增 ,cols: [[//添加注释解决thymeleaf取值格式冲突 {field:'id', width:80, title: 'ID', sort: true} ,{field:'username', width:80, title: '用户名'} ,{field:'sex', width:80, title: '性别', sort: true} ,{field:'city', width:80, title: '城市'} ,{field:'sign', title: '签名', width: '30%', minWidth: 100} //minWidth:局部定义当前单元格的最小宽度,layui 2.2.1 新增 ,{field:'experience', title: '积分', sort: true} ,{field:'score', title: '评分', sort: true} ,{field:'classify', title: '职业'} ,{field:'wealth', width:137, title: '财富', sort: true} ]] }); }); </script> [点击并拖拽以移动]
最后
以上就是俭朴玫瑰最近收集整理的关于thymeleaf框架[[${}]]取值格式与layui table渲染的cols冲突问题的全部内容,更多相关thymeleaf框架[[${}]]取值格式与layui内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复