Включая переменную JavaScript внутри thymeleaf

Как включить переменную JavaScript в thymeleaf для проверки состояния?

Пробовал:

<div th:if="${myVariable == 5}">
 //some code
</div>

но он не работает.

Ответы

Ответ 1

То, что вы пытаетесь сделать, не будет работать, поскольку Thymeleaf обрабатывает шаблон на стороне сервера, и поэтому переменные, к которым он имеет доступ, являются теми, которые определены в нем.

Если у вас была myVariable в модели, на которой работает Thymeleaf, это сработает. Если вы хотите установить значение переменной Javascript в шаблоне Thymeleaf, вы можете сделать следующее:

<script th:inline="javascript">
/*<![CDATA[*/
    ...

    var myVariable= /*[[${myVariable}]]*/ 'value';

    ...
/*]]>*/
</script>

Внутри script у вас может быть любая логика, в которую вы хотите включить hide/show и т.д.

Просмотрите эту часть документации для деталей режима.

Ответ 2

<script>
   // <![CDATA[
     ...Your script, here
   // ]]>
</script>