azerphoenix
@azerphoenix
Java Software Engineer

Как передать параметр из properties в Spring Boot в js файл?

Здравствуйте!
Есть необходимость передать некоторые параметры из файла properties в js файл ( js код не инлайновый, а отдельный файл и соответственно, встраивание при помощи thymeleaf th:inline не вариант).
Необходимо передать базовый урл + контекст приложения в этот js файл.
Например,
application.properties:
site.base.url=http://localhost:7777
server.servlet.context-path=/testApp

Отрывок из js файла:

$('#drag-and-drop-zone').dmUploader({ 
    url: 'backend/upload.php', // нужно провести здесь, замену без хардкодинга урла
    maxFileSize: 3000000, 
    onDragEnter: function(){
      this.addClass('active');
    }
}


Заранее благодарен))
  • Вопрос задан
  • 494 просмотра
Решения вопроса 1
azerphoenix
@azerphoenix Автор вопроса, куратор тега Java
Java Software Engineer
Отвечу на свой вопрос.
Если это классическое MVC приложение и например, используется шаблонизатор thymeleaf, то можно получить доступ к конфигам yml || properties следующими способами:

1)
${@environment.getProperty('css.specific.name')}

2) Либо используя аннотацию @ConfigurationProperties
а в html использовать:
<span th:text="@foo.getBar()"></span>

Полезная ссылка по теме:
https://stackoverflow.com/questions/56102116/acces...

P.S. Использование Controller || ControllerAdvice для подобных целей не приветствуется.

Ну а если у вас REST приложение, то это настраивается на клиентской стороне внутри js фреймворка.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
zolt85
@zolt85
Программист
Как самый простой вариант, Вы можете добавить простой контроллер на стороне сервера, который будет отдавать вам либо весь конфиг в JSON формате, либо конкретное значение из него по имени. Я не силен в написании плагинов к jQuery, но думаю можно это обыграть именно через плагин.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы