Javascript: двойные квадратные скобки для Thymeleaf - PullRequest
0 голосов
/ 15 мая 2018

Я использую Thymeleaf + Datatables.js.

Я хочу применить порядок по умолчанию к моему datatable в javascript, например так:

<script type="text/javascript" th:inline="javascript" class="init">

/*<![CDATA[*/

$(document).ready(function() {
    $('#myTable').DataTable({
        "order" : [[ 0, 'asc' ]]
    });
});

/*]]>*/

</script>

Однако я получаю следующее исключениевызвано Thymeleaf:

org.thymeleaf.exceptions.TemplateProcessingException: не удалось проанализировать как выражение: "0, 'asc'"

Так что, даже если я разместил свой jsкод в

/*<![CDATA[*/ ... /*]]>*/

Thymeleaf все еще хочет проанализировать его как выражение.Как мне избежать двойных квадратных скобок?

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Начиная с Thymeleaf 3, вы также можете добавить атрибут th:inline="none" в свой скрипт-тег (или любой другой тег в DOM-дереве, если вы хотите применить его ко всем его дочерним элементам).

См.: Отключение встраивания в Thymeleaf 3 Doc

0 голосов
/ 15 мая 2018

Вы можете переместить его в отдельный блок:

<script type="text/javascript" th:inline="none" class="init">
/*<![CDATA[*/
$(document).ready(function() {
    $('#myTable').DataTable({
        "order" : [[ 0, 'asc' ]]
    });
});
/*]]>*/
</script>

<script type="text/javascript" th:inline="javascript" class="init">
/*<![CDATA[*/
// other javascript with thymeleaf variables in it goes here
/*]]>*/
</script>

Вы можете отформатировать заказ по-разному:

$('#myTable').DataTable({
    "order" : [
      [ 0, 'asc' ]
    ]
});

или

$('#myTable').DataTable({
    "order" : [ [ 0, 'asc' ] ]
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...