Да, это возможно, Thymeleaf поддерживает предварительную обработку выражений:
Давайте начнем с нескольких примеров: ссылки на выражения (i18n) должны ссылаться с использованием символа #.Итак, предположим, у вас есть message.key в вашем файле перевода.Чтобы ссылаться на него в Thymeleaf, вам нужно будет использовать
th:text="#{message.key}"
. В вашем сценарии имя вашего ключа генерируется динамически на основе переменной, поэтому для предварительной обработки его в тимелисте вам необходимо использовать два подчеркивания __
* 1007.* Давайте предположим, что в вашем контексте у вас есть переменная модели myModelVariable с методом messagePrefix ().Наш пример выглядит следующим образом:
th:text="#{__${myModelVariable.messagePrefix()}__}"
Это означает, что myModelVariable.messagePrefix () будет обработан первым, а результат будет использован в качестве имени ключа, который затем будет преобразован в удобное для пользователя сообщение.
И если вы также хотите добавить статическую часть в конце, она будет выглядеть следующим образом:
th:text="#{__${myModelVariable.messagePrefix()}__}+'*'"
Даже ключ может содержать статическую часть, поэтому это также принимается:
th:text="#{__${myModelVariable.messagePrefix()}__.staticsuffix}+'*'"
Более подробную информацию вы можете найти в разделе 2.7 здесь: https://www.thymeleaf.org/doc/articles/standarddialect5minutes.html