layui数据表格 table.render 报错的解决方法


Posted in Javascript onSeptember 29, 2019

一、报错信息

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Wed Jan 23 15:20:18 CST 2019
There was an unexpected error (type=Internal Server Error, status=500).
An error happened during template parsing (template: "class path resource [templates/Page/test/test.html]")
org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/Page/test/test.html]")
	at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:241)
	at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone(AbstractMarkupTemplateParser.java:100)
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.attoparser.ParseException: Could not parse as expression: "
     {field: 'code', width: 80, title: 'ID', sort: true},
     {field: 'name', width: 100, title: '用户名'},
     {field: 'age', width: 80, title: '年龄'},
     {field: 'gender', width: 80, title: '性别'},
     {field: 'create_time', width: 80, title: '创建时间'},
     {field: 'update_time', width: 80, title: '修改时间'},

    " (template: "Page/test/test" - line 57, col 25)
	at org.attoparser.MarkupParser.parseDocument(MarkupParser.java:393)
	at org.attoparser.MarkupParser.parse(MarkupParser.java:257)
	at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:230)
	... 64 more
Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: "
     {field: 'code', width: 80, title: 'ID', sort: true},
     {field: 'name', width: 100, title: '用户名'},
     {field: 'age', width: 80, title: '年龄'},
     {field: 'gender', width: 80, title: '性别'},
     {field: 'create_time', width: 80, title: '创建时间'},
     {field: 'update_time', width: 80, title: '修改时间'},

    " (template: "Page/test/test" - line 57, col 25)
	at org.thymeleaf.standard.expression.StandardExpressionParser.parseExpression(StandardExpressionParser.java:131)

二、问题处理

layui数据表格 table.render 报错的解决方法

根据官网给出的代码,我们会发现 cols: 属性后面的参数“[[ ]] ” ,前后两个中括号是连在一起的。使用的时候必须把它们分开,不然就会报错,最好的选择就是换行,比如像下面这样

layui数据表格 table.render 报错的解决方法

到这里我们发现,像这一类的错误相对于layui这样商业化的框架来说也算是属于比较”低级“的了。但为什么官方迟迟还不修复这个BUG呢,原因很简单 因为它和 thymeleaf 冲突。

当你的项目采用的是 thymeleaf模板引擎 作为前端数据铺显的时候,你会发现想要在js 中获取后端传入的参数 必须以这样的方式取值

layui数据表格 table.render 报错的解决方法

key必须放在 [[ … ]] 中否则无法获取值,这种语法的语句称为“内联”。而这个时候layui 网格加载数据的属性 cols: [[ … ]] 恰好用的也是[[…],所以thymeleaf会把它当做后端的传入的参数来进行解析,自然就报错了。

layui数据表格 table.render 报错的解决方法

解决办法非常简单,在 script 标签中加入属性 th:inline=“none”,指定该标签内的js 不使用”内联“获取参数。

layui数据表格 table.render 报错的解决方法

如果你需要在js 中获取后端传入的参数,把th:inline="none"改成th:inline="javascript"就可以获取了

layui数据表格 table.render 报错的解决方法

如果这个时候页面不报错,却没有数据。可能是返回的数据格式不正确,必须严格按照官方给出的数据格式来封装

1、table 组件默认规定的数据格式为:

{
"code": 0,
"msg": "",
"count": 1000,
"data": [{}, {}]
}

参考数据

{
"code": 0,
"msg": "",
"count": 1000,
"data": [
{
"id": 10000,
"username": "user-0",
"sex": "女",
"city": "城市-0",
"sign": "签名-0",
"experience": 255,
"logins": 24,
"wealth": 82830700,
"classify": "作家",
"score": 57
}
]
}

2、自定义返回数据格式,想重新规定返回的数据格式,那么可以借助 response 参数,如:

table.render({
elem: '#demp'
,url: ''
,response: {
statusName: 'status' //规定数据状态的字段名称,默认:code
,statusCode: 200 //规定成功的状态码,默认:0
,msgName: 'hint' //规定状态信息的字段名称,默认:msg
,countName: 'total' //规定数据总数的字段名称,默认:count
,dataName: 'rows' //规定数据列表的字段名称,默认:data
} 
//,…… //其他参数
});

那么上面所规定的格式为:

{
"status": 200,
"hint": "",
"total": 1000,
"rows": []
}

以上这篇layui数据表格 table.render 报错的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
写的htc的数据表格
Jan 20 Javascript
JavaScript Date对象使用总结
May 14 Javascript
jquery ui resizable bug解决方法
Oct 26 Javascript
如何将php数组或者对象传递给javascript
Mar 20 Javascript
纯js实现遮罩层效果原理分析
May 27 Javascript
AngularJS语法详解
Jan 23 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
Jun 21 Javascript
微信小程序 生命周期函数详解
May 24 Javascript
select标签设置默认选中的选项方法
Mar 02 Javascript
Node.js 使用axios读写influxDB的方法示例
Oct 26 Javascript
原生js实现商品筛选功能
Oct 28 Javascript
Vue文本模糊匹配功能如何实现
Jul 30 Javascript
JavaScript实现秒杀时钟倒计时
Sep 29 #Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
Sep 28 #Javascript
layui+jquery支持IE8的表格分页方法
Sep 28 #jQuery
JavaScript获取页面元素的常用方法详解
Sep 28 #Javascript
解决Layui数据表格的宽高问题
Sep 28 #Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
Sep 28 #Javascript
layui table 列宽百分比显示的实现方法
Sep 28 #Javascript
You might like
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
PHP设计模式之代理模式的深入解析
2013/06/13 PHP
php中动态变量用法实例
2015/06/10 PHP
PDO操作MySQL的基础教程(推荐)
2017/08/18 PHP
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
2013/08/12 Javascript
浅析JavaScript中的隐式类型转换
2013/12/05 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
什么是JavaScript注入攻击?
2016/09/14 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
Vue Router的手写实现方法实现
2020/03/02 Javascript
pycharm 使用心得(五)断点调试
2014/06/06 Python
python简单文本处理的方法
2015/07/10 Python
详解python基础之while循环及if判断
2017/08/24 Python
Django如何配置mysql数据库
2018/05/04 Python
python:print格式化输出到文件的实例
2018/05/14 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
荷兰网上买鞋:MooieSchoenen.nl
2017/09/12 全球购物
后勤自我鉴定
2013/10/13 职场文书
个人投资计划书
2014/05/01 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
党支部考察意见范文
2015/06/02 职场文书
关于vue中如何监听数组变化
2021/04/28 Vue.js