Thymealf布局:javascript

时间:2018-02-25 08:33:53

标签: javascript html css html5 thymeleaf

我有一个类似于:

的百万美元模板
<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>

但是,当我加载页面时,我没有看到警报

3 个答案:

答案 0 :(得分:2)

Thymeleaf documentation建议使用弹出式div而不是JavaScript警报:

  

这是使用layout:fragment的可重用警报片段的示例   (任务/ 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>
     

上述片段的调用可能如下所示   (任务/ 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>

答案 1 :(得分:0)

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

用上面的代码替换你的脚本标记,并且工作正常

答案 2 :(得分:0)

将它放入div

后才能工作
 <script th:inline="javascript">
     alert ('lalala');
     </script>
 </div>
    </html>