Как избежать сценария jQuery в Thymeleaf? - PullRequest
0 голосов
/ 21 сентября 2018

код javascript в HTML-файле ниже

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

Сообщение об ошибке thymeleaf в том, что

Причина: org.thymeleaf.exceptions.TemplateProcessingException: Не удалось проанализировать как выражение: "Math.floor (Math.random () * sampleData.length) "(template:" gridTest "- строка 165, столбец 63)

как мне решить эту проблему?спасибо.

1 Ответ

0 голосов
/ 21 сентября 2018

Текст [(...)] представляет собой вариант встраивания JavaScript - поэтому 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...