layui數(shù)據(jù)表格 table.render 報(bào)錯(cuò)的解決方法
一、報(bào)錯(cuò)信息
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: '創(chuàng)建時(shí)間'}, {field: 'update_time', width: 80, title: '修改時(shí)間'}, " (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: '創(chuàng)建時(shí)間'}, {field: 'update_time', width: 80, title: '修改時(shí)間'}, " (template: "Page/test/test" - line 57, col 25) at org.thymeleaf.standard.expression.StandardExpressionParser.parseExpression(StandardExpressionParser.java:131)
二、問(wèn)題處理
根據(jù)官網(wǎng)給出的代碼,我們會(huì)發(fā)現(xiàn) cols: 屬性后面的參數(shù)“[[ ]] ” ,前后兩個(gè)中括號(hào)是連在一起的。使用的時(shí)候必須把它們分開,不然就會(huì)報(bào)錯(cuò),最好的選擇就是換行,比如像下面這樣
到這里我們發(fā)現(xiàn),像這一類的錯(cuò)誤相對(duì)于layui這樣商業(yè)化的框架來(lái)說(shuō)也算是屬于比較”低級(jí)“的了。但為什么官方遲遲還不修復(fù)這個(gè)BUG呢,原因很簡(jiǎn)單 因?yàn)樗?thymeleaf 沖突。
當(dāng)你的項(xiàng)目采用的是 thymeleaf模板引擎 作為前端數(shù)據(jù)鋪顯的時(shí)候,你會(huì)發(fā)現(xiàn)想要在js 中獲取后端傳入的參數(shù) 必須以這樣的方式取值
key必須放在 [[ … ]] 中否則無(wú)法獲取值,這種語(yǔ)法的語(yǔ)句稱為“內(nèi)聯(lián)”。而這個(gè)時(shí)候layui 網(wǎng)格加載數(shù)據(jù)的屬性 cols: [[ … ]] 恰好用的也是[[…],所以thymeleaf會(huì)把它當(dāng)做后端的傳入的參數(shù)來(lái)進(jìn)行解析,自然就報(bào)錯(cuò)了。
解決辦法非常簡(jiǎn)單,在 script 標(biāo)簽中加入屬性 th:inline=“none”,指定該標(biāo)簽內(nèi)的js 不使用”內(nèi)聯(lián)“獲取參數(shù)。
如果你需要在js 中獲取后端傳入的參數(shù),把th:inline="none"改成th:inline="javascript"就可以獲取了
如果這個(gè)時(shí)候頁(yè)面不報(bào)錯(cuò),卻沒(méi)有數(shù)據(jù)。可能是返回的數(shù)據(jù)格式不正確,必須嚴(yán)格按照官方給出的數(shù)據(jù)格式來(lái)封裝
1、table 組件默認(rèn)規(guī)定的數(shù)據(jù)格式為:
{ "code": 0, "msg": "", "count": 1000, "data": [{}, {}] }
參考數(shù)據(jù)
{ "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、自定義返回?cái)?shù)據(jù)格式,想重新規(guī)定返回的數(shù)據(jù)格式,那么可以借助 response 參數(shù),如:
table.render({ elem: '#demp' ,url: '' ,response: { statusName: 'status' //規(guī)定數(shù)據(jù)狀態(tài)的字段名稱,默認(rèn):code ,statusCode: 200 //規(guī)定成功的狀態(tài)碼,默認(rèn):0 ,msgName: 'hint' //規(guī)定狀態(tài)信息的字段名稱,默認(rèn):msg ,countName: 'total' //規(guī)定數(shù)據(jù)總數(shù)的字段名稱,默認(rèn):count ,dataName: 'rows' //規(guī)定數(shù)據(jù)列表的字段名稱,默認(rèn):data } //,…… //其他參數(shù) });
那么上面所規(guī)定的格式為:
{ "status": 200, "hint": "", "total": 1000, "rows": [] }
以上這篇layui數(shù)據(jù)表格 table.render 報(bào)錯(cuò)的解決方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript箭頭函數(shù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了JavaScript箭頭函數(shù)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06javascript基礎(chǔ)練習(xí)之翻轉(zhuǎn)字符串與回文
最近在學(xué)習(xí)的時(shí)候到了基礎(chǔ)算法這一章節(jié),讓我對(duì)js內(nèi)置對(duì)象方法的掌握還有思維邏輯都得到了提升,所借此機(jī)會(huì)來(lái)寫一寫學(xué)習(xí)心得和總結(jié)。下面這篇文章主要介紹了利用javascript實(shí)現(xiàn)翻轉(zhuǎn)字符串與回文的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-02-02一文詳解GoJs中g(shù)o.Panel的itemArray屬性
這篇文章主要為大家介紹了一文詳解GoJs中g(shù)o.Panel的itemArray屬性詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05js寫出遮罩層登陸框和對(duì)聯(lián)廣告并自動(dòng)跟隨滾動(dòng)條滾動(dòng)
這篇文章主要介紹了js寫出遮罩層登陸框和對(duì)聯(lián)廣告并自動(dòng)跟隨滾動(dòng)條滾動(dòng),需要的朋友可以參考下2014-04-04通過(guò)js獲取上傳的圖片信息(臨時(shí)保存路徑,名稱,大?。┤缓笸ㄟ^(guò)ajax傳遞給后端的方法
最近有朋友向我請(qǐng)教,使用js獲取上傳圖片的信息然后通過(guò)ajax傳遞給后端,怎么實(shí)現(xiàn)呢?通過(guò)上網(wǎng)搜索大量資料,下面小編把我的解決辦法整理,分享給大家,需要的朋友可以參考下2015-10-10這應(yīng)該是最詳細(xì)的響應(yīng)式系統(tǒng)講解了
這篇文章主要介紹了這應(yīng)該是最詳細(xì)的響應(yīng)式系統(tǒng)講解了,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07js實(shí)現(xiàn)消滅星星(web簡(jiǎn)易版)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)web簡(jiǎn)易版的消滅星星,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03