Как разделить javascript в thymeleaf на фрагменты?

#javascript #thymeleaf

Вопрос:

Я хочу создать повторно используемый фрагмент javascript, который затем я могу просто включить в <th:block layout:fragment="script"> блоки, как показано ниже:

 <th:block layout:fragment="script">
    <div th:replace="test :: script"></div>
</th:block>
 

С test/script.html :

 <html xmlns="http://www.w3.org/1999/html" xmlns:th="http://www.thymeleaf.org">
    <body>
        <div th:fragment="script">
            <script type="text/javascript">
                $(document).ready(function(){
                    alert('test alert');
                });
            </script>
        </div>
    </body>
</html>
 

Когда я непосредственно использую js вместо th:replace оператора, предупреждение выполняется.
Когда я пытаюсь включить фрагмент, как написано выше, ничего не происходит.

Вопрос: как я могу сказать thymeleaf , чтобы включить внешний js?

Ответ №1:

Мне пришлось заменить внешнюю <div> на <script> :

<th:макет блока:фрагмент=»сценарий»> <th:макет блока:фрагмент=»сценарий»><сценарий th:заменить=»внешний :: сценарий»> ></th:блок>

А также:

<сценарий th:фрагмент=»сценарий»>