Использование переменной пути в Thymeleaf th: replace - PullRequest
0 голосов
/ 10 июля 2020

Я использую переменную пути в своем контроллере для замены содержимого на странице HTML, для меня отлично работает следующее:

Controller:
@RequestMapping(path = "/p/{request}", method = {RequestMethod.GET})
public String index(@PathVariable("request") String request, Model model) {
    System.out.println(request);
    model.addAttribute("pageName", request);
    return "pages/index";
}

The div:
<div class="col-xs-10 dev-outline">
    <!-- begin content -->
    <div th:replace="fragments/page-content :: ${pageName}"></div>
</div>

Это отлично работает, и позволяет мне иметь один html файл (фрагменты / page-content. html) для хранения всех необходимых мне данных.

Однако становится ясно, что по мере роста содержимого я не Мне нужен файл размером 2k html, содержащий все содержимое, и для удобства обслуживания я бы предпочел иметь один файл для каждого содержимого страницы.

Я попробовал следующее и обнаружил, что это не работает. Я ожидал, что это:

<div class="col-xs-10 dev-outline">
    <!-- begin content -->
    <div th:replace="fragments/${pageName} :: content"></div>
</div>

Я думал, что это позволит мне создавать новые html страницы и маркировать div внутри словом «content», но Thymleaf не может его проанализировать.

Возможно ли то, что я пытаюсь сделать? Или я неправильно об этом думаю.

1 Ответ

0 голосов
/ 10 июля 2020

Разобрался ... Мне нужно было заменить:

<div th:replace="fragments/${pageName} :: content"></div>

на:

<div th:replace="${pageName} :: content"></div>

и просто добавить «фрагменты /» в контроллер.

...