Переменные в текстовой версии
Для простого текста вы можете использовать синтаксис [#th:block]
.
В частности, вместо использования этого в вашем specific.txt
:
[( ~{text/header} )]
вы можете использовать это:
[#th:block th:replace="text/header"][/th:block]
Кроме того, в файле header.txt
, вместо использования этого:
Hello ${name}
вам нужно использовать это:
Hello [( ${name} )]
Это выражение для встраивания - которое вы уже использовали - и оно представлено здесь
Некоторые дополнительные примеры синтаксиса [#th:block]
представлены здесь .
Определение и использование фрагментов для текста
Вы можете подумать что синтаксис [#th:block]
теперь позволяет нам использовать фрагменты, аналогично подходу HTML. Например, что-то вроде этого:
DOES NOT WORK:
[#th:block th:replace="text/common :: header"][/th:block]
вместе с фрагментом common.txt
, подобным этому:
ALSO DOES NOT WORK:
[#th:block th:fragment="header"]
Hello, [( ${name} )]
[/th:block]
Если вы попытаетесь это сделать, вы получите следующую ошибку:
java .lang.IllegalArgumentException: селекторы шаблона не могут быть указаны для шаблона с использованием режима шаблона TEXT: операции вставки шаблона должны всегда выполняться для целых файлов шаблона, а не для фрагментов
Общие комментарии
Единственное, что я хотел бы здесь упомянуть, если вы еще не видели или не использовали его, это параметризованные фрагменты . Они могут сделать HTML фрагментов более гибкими и пригодными для повторного использования.