Как динамически заменить фрагмент в Thymeleaf? - PullRequest
0 голосов
/ 29 мая 2019

В следующем примере я хочу создать только простой макет main.html, а home.html, about.html.

Подстраницы должны содержать только свое собственное тело контента, а не заголовки или включения нижнего колонтитула.

Это то, что у меня есть до сих пор, но как мне теперь динамически заменить содержимое container на страницу, по которой щелкнули?

<html>
  <body>
      <div class="navbar navbar-inverse navbar-fixed-top">
        <div class="container">
          <div class="navbar-header">
            <a class="navbar-brand" href="/home">Home</a>
          </div>
          <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
              <li class="active"><a href="/about">About</a></li>
            </ul>
          </div>
        </div>
      </div>

    <div class="container">
       <p>This should always get replaced when a link is clicked</p>
       <!--<div th:replace="fragments/pagename :: pagename">-->
    </div>
  </body>
</html>

Если бы у меня была только одна страница, я мог бы заменить содержимое на <div th:replace="fragments/about :: about">, но как я мог бы сделать это динамически?

1 Ответ

0 голосов
/ 11 июня 2019

Сообщение об устаревании пришло от <html layout:decorate="layout">. Переписав его на <html layout:decorate="~{layout}"> исправлено сообщение.

В любом случае, thymeleaf, похоже, не хватает этой важной функции, поэтому использование диалекта thymeleaf-layout-dialect - единственный путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...