Невозможно получить доступ к статическому ресурсу с использованием тимелеафа в определенных конечных точках

У меня есть базовое приложение Spring Boot со стартером тимелеафа. (2.0.1.RELEASE)

Это структура проекта

Невозможно получить доступ к статическому ресурсу с использованием тимелеафа в определенных конечных точках

Как видите, у меня есть html-страницы (test,test-exchange) У меня есть один контроллер для доступа к этим двум страницам:

Невозможно получить доступ к статическому ресурсу с использованием тимелеафа в определенных конечных точках

test.html and test-exchange.html страницы абсолютно одинаковые

Невозможно получить доступ к статическому ресурсу с использованием тимелеафа в определенных конечных точках

Здесь у меня tagManager.js в следующем каталоге

/resources/static/js/tagManager.js

В test-exchange.html я не могу загрузить этот скрипт, но в test.html могу (я имею в виду, что в консоли разработчика я получаю 404 доступа к скрипту).

Что интересно, если я изменю конечную точку на test-exchange.html как этот

Невозможно получить доступ к статическому ресурсу с использованием тимелеафа в определенных конечных точках

Скрипт загружен успешно. Как я понимаю, thymeleaf не позволяет иметь такую ​​же строку в контроллере для достижения страницы. Как исправить ???

Небольшое примечание для улучшения ваших вопросов: вставьте код в виде блоков кода вместо изображений. Заранее спасибо :)

Sven Hakvoort 21.11.2018 14:24

Хорошо, я сделаю это в будущем, есть предложения по этой проблеме? :)

Almas Abdrazak 21.11.2018 14:25
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
177
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это вызвано относительным отображением ваших файлов js. Страница под xxx/test загружается и пытается загрузить файл js с xxx/js/tagManager.js, но если вы находитесь по URL-адресу xxx/test/something, он попытается загрузить файл js с xxx/test/js/tagManager.js. Таким образом, вам понадобится отображение из корня вашего домена.

Вы можете добиться этого с помощью @{/js/tagManager.js} вместо js/tagManager.js.

Это выглядело бы так:

<script th:src = "@{/js/tagManager.js}"></script>

Если что-то неясно, не стесняйтесь спрашивать

Вы имеете в виду <script th: src = "$ {'/ js / tagManager.js'}"> </script> это?

Almas Abdrazak 21.11.2018 14:39

@AlmasAbdrazak, да

Sven Hakvoort 21.11.2018 14:40

@AlmasAbdrazak, но обратите внимание, что это с @ и без кавычек внутри фигурных скобок

Sven Hakvoort 21.11.2018 14:41

Другие вопросы по теме