thymeleaf+easyui加载页面时Caused by: org.thymeleaf.exceptions.TemplateProcessingException

在使用Thymeleaf和EasyUI进行页面开发时,遇到模板解析异常,具体表现为org.thymeleaf.exceptions.TemplateProcessingException和org.attoparser.ParseException。错误出现在JavaScript代码中,提示无法将某些内容解析为表达式。解决方法包括将columns内的内容分开处理,或者避免使用Thymeleaf的内联表达式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

加载面试时报错提示是:

org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [*****]

我的js代码有:

function Initldlx() {
  let data = 'oid=' + $("#organisationid").combobox("getValue") + '&tjlx=' + $("#tjlx").val()
      + '&startDt=' + $("#startDt").val() + '&stopDt=' + $("#stopDt").val();
  $.ajax({
    type: 'GET',
    url: '/statistics/main?' + data,
    success: function (res) {
      excelData = res.data;
      $('#tb').datagrid({
        data: res.data,
        remoteSort: false,
        sortOrder: 'desc',
        sortName: 'value',
        columns: [[
          {field: 'name', title: '名称', width: 200},
          {field: 'value', title: '数据', width: 200, sortable: true}
        ]]
      });
      flushCircle(res.data2);
    }
  });
}

报错提示是:

Caused by: org.attoparser.ParseException: Could not parse as expression: "
            {field: 'name', title: '名称', width: 200},
            {field: 'value', title: '数据', width: 200, sortable: true}
          " (template: "serv/tongji/hjsl" - line 86, col 22)
    at org.attoparser.MarkupParser.parseDocument(MarkupParser.java:393) ~[attoparser-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.attoparser.MarkupParser.parse(MarkupParser.java:257) ~[attoparser-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:230) ~[thymeleaf-3.0.10.RELEASE.jar:3.0.10.RELEASE]
    ... 86 common frames omitted

处理办法第一种:

原来的columns是

columns: [[
            {field: 'name', title: '名称', width: 200},
            {field: 'value', title: '数据', width: 200, sortable: true}
            ]]

把他们分隔开

columns: [
            [
            {field: 'name', title: '名称', width: 200},
            {field: 'value', title: '数据', width: 200, sortable: true}
            ]
          ]

第二种办法:

<script type="text/javascript" th:inline="none">  在script后面加上加上th:inline="none"

因为[[…]]之间的表达式在thymeleaf被认为是内联表达式,所以渲染错误

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值