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 相关文章推荐
为你的网站增加亮点的9款jQuery插件推荐
May 03 Javascript
JavaScript调试工具汇总
Dec 23 Javascript
javascript实现跨域的方法汇总
Jun 25 Javascript
js+css实现回到顶部按钮(back to top)
Mar 02 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
Dec 26 Javascript
JS中闭包的经典用法小结(2则示例)
Dec 28 Javascript
简单谈谈js的数据类型
Sep 25 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
Feb 08 Javascript
webpack css加载和图片加载的方法示例
Sep 11 Javascript
Vue.js中对css的操作(修改)具体方式详解
Oct 30 Javascript
原生js实现的移动端可拖动进度条插件功能详解
Aug 15 Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 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中一个控制字符串输出的函数
2006/10/09 PHP
Gregarius中文日期格式问题解决办法
2008/04/22 PHP
隐性调用php程序的方法
2009/03/09 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
读jQuery之七 判断点击了鼠标哪个键的代码
2011/06/21 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
详解JS: reduce方法实现 webpack多文件入口
2017/02/14 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
解决微信小程序调用moveToLocation失效问题【超简单】
2019/04/12 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
python列表去重的二种方法
2014/02/14 Python
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
Django使用中间件解决前后端同源策略问题
2019/09/02 Python
使用python模拟高斯分布例子
2019/12/09 Python
PyTorch的torch.cat用法
2020/06/28 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
美国领先的商务贺卡出版商:The Gallery Collection
2018/02/13 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
玩具公司的创业计划书
2013/12/31 职场文书
男方父母证婚词
2014/01/12 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP
CSS 伪元素::marker详解
2021/06/26 HTML / CSS
go select编译期的优化处理逻辑使用场景分析
2021/06/28 Golang