У меня есть шаблон тимелист, который выглядит так:

<body>

<div id="layout">
    <!-- Menu toggle -->
    <a href="#menu" id="menuLink" class="menu-link">
        <!-- Hamburger icon -->
        <span></span>
    </a>

    <!-- Menu -->
     <div th:replace="laberint/common/menu :: [//div[@id='menu']]"></div>

И меню выглядит так:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
 <!-- Menu -->
    <div id="menu" oncontextmenu='return false' ondragstart='return false' onmousedown='return false'>
     ......

     <script th:inline="javascript">
     alert ('lalala');
     </script>



    </html>

Но я не вижу предупреждения при загрузке страницы

1
Salvador Borés 25 Фев 2018 в 11:33

3 ответа

Лучший ответ

Это работает после того, как положить его в div

 <script th:inline="javascript">
     alert ('lalala');
     </script>
 </div>
    </html>
0
Salvador Borés 28 Фев 2018 в 12:26

Документация Thymeleaf предлагает использовать всплывающий div вместо предупреждения JavaScript:

Это пример многократно используемого фрагмента предупреждения с использованием layout: фрагмент (task / alert.html):

<!DOCTYPE html>
<html>
  <body>
    <th:block layout:fragment="alert-content">
        <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula...</p>
        <p>
            <button type="button" class="btn btn-danger">Take this action</button>
            <button type="button" class="btn btn-default">Or do this</button>
        </p>
    </th:block>
  </body>
</html>

Вызов вышеупомянутого фрагмента может выглядеть следующим образом (task / list.html):

<div layout:insert="~{task/alert :: alert}" th:with="type='info', header='Info'" th:remove="tag">
    <!--/* Implements alert content fragment with simple content */-->
    <th:block layout:fragment="alert-content">
        <p><em>This is a simple list of tasks!</em></p>
    </th:block>
</div>

Или же:

<div layout:insert="~{task/alert :: alert}" th:with="type='danger', header='Oh snap! You got an error!'" th:remove="tag">
    <!--/* Implements alert content fragment with full-blown HTML content */-->
    <th:block layout:fragment="alert-content">
       <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula...</p>
        <p>
            <button type="button" class="btn btn-danger">
            Take this action</button>
            <button type="button" class="btn btn-default">
            Or do this</button>
        </p>
    </th:block>
</div> 

В этом случае весь текст оповещения шаблона задачи / оповещения (/WEB-INF/views/task/alert.html) будет заменен на пользовательский HTML выше.

Итак, пример в OP может выглядеть так:

<div layout:insert="~{task/alert :: alert}" th:with="type='info', header='lalala'" th:remove="tag">
        <th:block layout:fragment="alert-content">
            <p>La la la</p>
        </th:block>
    </div>
2
Yvonne Aburrow 1 Мар 2018 в 11:23
 <script type="text/javascript" th:inline="javascript">

Замените тэг скрипта приведенным выше кодом и он работает нормально

0
Berhanu Tarekegn 27 Фев 2018 в 13:52