Шаблон Thymeleaf игнорирует функции начальной загрузки - PullRequest
0 голосов
/ 30 октября 2019

У меня проблема с интеграцией шаблонов тимилиста с начальной загрузкой. Я использую очень похожие шаблоны, и один из них работает правильно, и я имею в виду, что он включает в себя функции начальной загрузки, но второй шаблон полностью их игнорирует.

Я думал, что причиной этой проблемы может быть источник моейСамозагрузка и конфигурация jquery или веб-безопасности, но я не уверен.

  1. Заголовочный файл
<!DOCTYPE html>
    <html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/extras/spring-security">

    <head th:fragment="head">
        <title>My App</title>

        <link href="webjars/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
        <script type="text/javascript" src="webjars/jquery/1.9.1/jquery.min.js"></script>
        <script type="text/javascript" src="webjars/bootstrap/3.3.6/js/bootstrap.min.js"></script>
        <script type="text/javascript" src="webjars/bootstrap-datepicker/1.0.1/js/bootstrap-datepicker.js"></script>



    </head>

    <body>

    <nav role="navigation" class="navbar navbar-default" th:fragment="navigation">
        <div class="">
            <a href="http://www.github.com/dasiekr" class="navbar-brand">My Github</a>
        </div>
        <div class="navbar-collapse">
            <ul class="nav navbar-nav">
                <li><a href="/tasks">Todos</a></li>
            </ul>

            <ul class="nav navbar-right navbar-right">
                <li><a href="/logout">Logout</a></li>
            </ul>
        </div>
    </nav>

    <nav role="navigation" class="navbar navbar-default" th:fragment="login_navigation">

        <div class="navbar-collapse">
            <ul class="nav navbar-nav">
                <li><a href="/login">Login</a></li>
            </ul>

            <ul class="nav navbar-right navbar-right">
                <li><a href="/registration">Register</a></li>
            </ul>
        </div>
    </nav>

    <script th:fragment="datepicker">
        $('#targetDate').datepicker({
            format : 'dd/mm/yyyy'
        });
    </script>

    </body>

    </html>
Шаблон, который позволяет пользователю добавлять новое задание - это отлично работает
    <!DOCTYPE html>
    <html xmlns:th="http://www.thymeleaf.org">
    <html lang="en">
    <head th:replace="fragments/header :: head">
    </head>

    <body>
    <div th:replace="fragments/header :: navigation"></div>
        <head th:replace="fragments/header :: head">
        </head>

        <body>
        <div th:replace="fragments/header :: navigation"></div>

        <div class="container">
            <form th:action="@{/addTodo}" th:object="${newTodo}" method="post">

                <div class="form-group">
                    <label for="description" class="form-control-label">Description</label>
                    <input type="text" class="form-control" th:field="*{description}" id="description"/>
                </div>

                <div class="form-group">
                    <label for="targetDate" class="form-control-label">Date</label>
                    <input type="text" class="form-control" th:field="*{targetDate}" id="targetDate"/>
                </div>


                <div class="form-group">
                    <label for="status" class="form-control-label">Status</label>
                    <div class="custom-select">
                        <span class="dropdown-arrow"></span>
                        <select th:field="*{status}" id="status">
                            <option value="To do">To do</option>
                            <option value="In progress">In progress</option>
                            <option value="Done">Done</option>
                        </select>
                    </div>
                </div>


                <input type="submit" th:value="Submit" class="btn btn-primary"/>
            </form>
        </div>

    <script th:replace="fragments/header :: datepicker"></script>
Шаблон, который позволяет пользователю обновлять задачу - игнорирует начальную загрузку и jquery, несмотря на одинаковый импорт
    <head th:replace="fragments/header :: head">
    </head>

    <body>
    <div th:replace="fragments/header :: navigation"></div>

        <div class="container">
            <form th:action="@{'/updateTodo/' + ${updateTodo.task_id}}" th:object="${updateTodo}" method="post">

                <div class="form-group">
                    <label for="description" class="form-control-label">Description</label>
                    <input type="text" class="form-control" th:field="*{description}" id="description"/>
                </div>

                <div class="form-group">
                    <label for="targetDate" class="form-control-label">Date</label>
                    <input type="text" class="form-control" th:field="*{targetDate}" id="targetDate"/>
                </div>


                <div class="form-group">
                    <label for="status" class="form-control-label">Status</label>
                    <div class="custom-select">
                        <span class="dropdown-arrow"></span>
                        <select th:field="*{status}" id="status">
                            <option value="To do">To do</option>
                            <option value="In progress">In progress</option>
                            <option value="Done">Done</option>
                        </select>
                    </div>
                </div>


                <input type="submit" th:value="Submit" class="btn btn-primary"/>
            </form>
        </div>
Web Security Config
        @Bean
        DaoAuthenticationProvider authenticationProvider() {
            DaoAuthenticationProvider daoAuthenticationProvider = new DaoAuthenticationProvider();
            daoAuthenticationProvider.setPasswordEncoder(passwordEncoder());
            daoAuthenticationProvider.setUserDetailsService(this.userDetailsService);
            return daoAuthenticationProvider;
        }

        @Override
        public void configure(WebSecurity web) throws Exception {
            web.ignoring().antMatchers("/resources/**", "/static/**", "/css/**", "/js/**", "/images/**", "/webjars/**");
        }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...