如何在Thymeleaf中转义jQuery脚本?

时间:2018-09-21 06:47:50

标签: thymeleaf

下面HTML文件中的javascript代码

<script th:inline="javascript">
     .
     .
     .
    for (var i = 0, l = 100; i < l; i++) {
       list.push($.extend({}, sampleData[(Math.floor(Math.random() * 
       sampleData.length))]));
    }

百里香错误消息是

  

由以下原因引起:org.thymeleaf.exceptions.TemplateProcessingException:可能   不能解析为表达式:“ Math.floor(Math.random()*   sampleData.length)”(模板:“ gridTest”-第165行,第63行)

我该如何解决? 谢谢。

1 个答案:

答案 0 :(得分:0)

文本[(...)]JavaScript inlining的变体,因此Thymeleaf试图将[(Math.floor(Math.random() * sampleData.length))]解析为Thymeleaf表达式(并因此引发错误)。

在任何情况下,都不需要使用Math.floor(...)表达式周围的括号,因此您可以删除它们,并且Thymeleaf可以使用。

<script th:inline="javascript">
    .
    .
    .

    for (var i = 0, l = 100; i < l; i++) {
       list.push($.extend({}, sampleData[Math.floor(Math.random() * sampleData.length)]));
    }
</script>
相关问题