У меня возникли проблемы при попытке структурировать путь в приложении MVC.На этом сайте было несколько похожих старых вопросов, но ни один из них не разрешил и не объяснил мой вопрос.
Это ссылка, которую я использую при тестировании моего html.Он работает нормально, и CSS разрешается правильно.
href="../static/css/main.css"
Но когда я запускаю сервер, а тимели и весна возвращают представление - я получаю чистый HTML, и ни один из моих файлов CSS не был разрешен.Ни один статический контент не разрешен.Все они возвращаются с 404-ым.
Я могу заставить их разрешить правильно, если добавлю тэг thmeleaf href, используя другой корень относительного пути:
th:href="@{/css/main.css}"
Но это не должно бытьтот же самый?Очевидно, что приложение разрешает путь иначе, чем я вижу, когда просто работаю с HTML.Но я не уверен, почему и как получить приложение, чтобы найти правильный путь.Я действительно не хочу включать в html уникальный href AND th: href, если я могу этого избежать.
Моя структура папок соответствует моим стандартам:
/resources/templates/home.html
/resources/static/css/main.css
/resources/static/images/pic.jpg
/resources/static/js/action.js
У меня нет @EnableWebMVC
в использовании, и у меня нет web.xml
.Контроллер для этого - barebones.
@Controller
public class HomeController {
@RequestMapping("/")
public String home() {
return "home";
}
Использование:
compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf', version: '2.0.0.M7'
compile group: 'org.springframework.boot', name: 'spring-boot-devtools', version: '2.0.0.M7'
compile group: 'org.springframework', name: 'spring-webmvc', version: '5.0.2.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.0.0.M7'
Просматривая документы Thymeleaf, я вижу пример именно того, что я описываю.Так может быть, это ожидается?Я бы хотел лучше понять, почему.
<link rel="stylesheet" type="text/css" media="all"
href="../../css/gtvg.css" th:href="@{/css/gtvg.css}" />
Заранее спасибо.