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 相关文章推荐
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
Nov 07 Javascript
window.js 主要包含了页面的一些操作
Dec 23 Javascript
jquery 中多条件选择器,相对选择器,层次选择器的区别
Jul 03 Javascript
js弹出框轻量级插件jquery.boxy使用介绍
Jan 15 Javascript
有效提高JavaScript执行效率的几点知识
Jan 31 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
Nov 24 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
Jun 14 Javascript
微信小程序 教程之wxapp 视图容器 view
Oct 19 Javascript
vue-router:嵌套路由的使用方法
Feb 21 Javascript
javascript内存分配原理实例分析
Apr 10 Javascript
js使用cookie实现记住用户名功能示例
Jun 13 Javascript
js实现小球在页面规定的区域运动
Jun 16 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
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
jQuery实现用方向键控制层的上下左右移动
2013/01/13 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
js实现从数组里随机获取元素
2015/01/12 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
高效的jquery数字滚动特效
2015/12/17 Javascript
JavaScript构造函数详解
2015/12/27 Javascript
jQuery Ajax 上传文件处理方式介绍(推荐)
2016/06/30 Javascript
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
2016/12/21 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
Python赋值语句后逗号的作用分析
2015/06/08 Python
Python网络编程 Python套接字编程
2017/09/13 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
python编写计算器功能
2019/10/25 Python
python之列表推导式的用法
2019/11/29 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
Python 随机按键模拟2小时
2020/12/30 Python
英国电器零售商:PRC Direct
2018/06/21 全球购物
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
什么是反射?如何实现反射?
2016/07/25 面试题
大学生个人自我鉴定
2013/12/03 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
2014县委书记党的群众路线教育实践活动对照检查材料思想汇报
2014/09/22 职场文书
2015年政务公开工作总结
2015/05/19 职场文书
校运会加油稿大全
2015/07/22 职场文书
php引用传递
2021/04/01 PHP
Python制作动态字符画的源码
2021/08/04 Python