У меня проблема с интеграцией шаблонов тимилиста с начальной загрузкой. Я использую очень похожие шаблоны, и один из них работает правильно, и я имею в виду, что он включает в себя функции начальной загрузки, но второй шаблон полностью их игнорирует.
Я думал, что причиной этой проблемы может быть источник моейСамозагрузка и конфигурация jquery или веб-безопасности, но я не уверен.
- Заголовочный файл
<!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/**");
}