为什么此javascript在thymeleaf的嵌入式javascript标签中不起作用?语法有问题吗?

我正在使用bootstrap 4模态和百里香模板引擎。但是,内联JavaScript中的数据不会以模式加载。

我确定thymeleaf不喜欢的JavaScript语法有问题。

为了简化调试,我尝试从引导文档中的该示例重新实现

https://getbootstrap.com/docs/4.3/components/modal/#varying-modal-content

我尝试了最简单的Java脚本功能来显示警报,并且效果很好。

<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
    <th:block th:fragment="header">
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport"
              content="width=device-width,initial-scale=1,shrink-to-fit=no">
        <link rel="shortcut icon" type="image/x-icon"
              href="images/att_globe.png"/>
        <link th:href="@{/webjars/bootstrap-table/1.15.4/dist/bootstrap-table.min.css}"
              rel="stylesheet">
        <link th:href="@{/webjars/bootstrap/4.3.1/css/bootstrap.min.css}"
              rel="stylesheet">
        <link href="@{/webjars/font-awesome/5.11.2/css/all.css}" rel="stylesheet">
    </th:block>
</head>
<body>

<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo">Open modal for @mdo</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@fat">Open modal for @fat</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@getbootstrap">Open modal for @getbootstrap</button>

<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="exampleModalLabel">New message</h4>
            </div>
            <div class="modal-body">
                <form>
                    <div class="form-group">
                        <label for="recipient-name" class="control-label">Recipient:</label>
                        <input type="text" class="form-control" id="recipient-name">
                    </div>
                    <div class="form-group">
                        <label for="message-text" class="control-label">Message:</label>
                        <textarea class="form-control" id="message-text"></textarea>
                    </div>
                </form>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <button type="button" class="btn btn-primary">Send message</button>
            </div>
        </div>
    </div>
</div>
<script th:inline="javascript">
    /*<![CDATA[*/
        $('#exampleModal').on('show.bs.modal',function (event) {
          var button = $(event.relatedTarget) // Button that triggered the modal
          var recipient = button.data('whatever') // Extract info from data-* attributes
          // If necessary,you could initiate an AJAX request here (and then do the updating in a callback).
          // Update the modal's content. We'll use jQuery here,but you could use a data binding library or other methods instead.
          var modal = $(this)
          modal.find('.modal-title').text('New message to ' + recipient)
          modal.find('.modal-body input').val(recipient)
        })
    /*]]>*/
</script>
<script th:src="@{/webjars/jquery/3.3.1/jquery.min.js}"></script>
<script th:src="@{/webjars/popper.js/1.14.7/umd/popper.min.js}"></script>
<script th:src="@{/webjars/bootstrap/4.3.1/js/bootstrap.min.js}"></script>
<script th:src="@{/webjars/bootstrap-table/1.15.4/dist/bootstrap-table.min.js}"></script>
</body>
</html>

预期-

https://imgur.com/a/5Zn6ck3

但是,这就是我得到的-

https://imgur.com/micIa1f

asdfasdf_lxn 回答:为什么此javascript在thymeleaf的嵌入式javascript标签中不起作用?语法有问题吗?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3120667.html

大家都在问