Thymeleaf — включить шаблон из того же каталога (относительный путь)

#thymeleaf

#thymeleaf

Вопрос:

В настоящее время я включаю фрагменты в шаблоны Thymeleaf, указав полный путь к каталогу фрагментов следующим образом:

 <div th:replace="/my/full/long/path/to/template.html :: main"></div>
  

Проблема в том, что пути иногда бывают длинными из-за того, что приложение имеет много представлений, разделенных по папкам.

Мы используем следующую инструкцию для использования текущего каталога:

 <div th:replace="__${execInfo.templateName}__/../template.html :: main"></div>
  

Но это устарело в версии 3.0. Есть ли какой-либо способ использовать текущий путь к текущему обрабатываемому шаблону во включенных фрагментах.

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

Ответ №1:

Я попытался сделать что-то подобное, используя Thymleaf 3.0.11, и, похоже, это работает —

 <div th:replace="~{__${execInfo.templateName}__/../template.html :: main}"></div>