Thymeleaf заменяет переменную свойства значением со стороны сервера - PullRequest
1 голос
/ 13 марта 2020

Я пытаюсь создать пользовательский интерфейс, используя шаблонизатор Thymeleaf. У меня есть файл свойств, в котором содержится список сообщений для проверок.

Например: у меня есть правильная информация customer.collateral.allocated_amount = Введенная сумма больше вашего доступного баланса. Баланс: {0}

Теперь я хочу заменить {0} на значение, которое я получаю со стороны сервера из базы данных. Например, я запрашиваю из базы данных и получаю 500.50. И то, что я хочу сделать сейчас, это показать это свойство со значением. В этом примере это будет: Введенная сумма больше вашего доступного баланса. Баланс: 500.50

Я пытался сделать это, но не повезло:

<th class="right" th:inline="text">([[#customer.collateral.allocated_amount]], ${availableAmount})</th>

Как я мог это сделать?

1 Ответ

1 голос
/ 13 марта 2020

Вот шаги, которые необходимо выполнить для настройки basi c для использования сообщений Thymeleaf:

1) Предположим, у вас есть Шаблон Thymeleaf называется customers.html.

2) Поэтому ваш файл свойств должен называться customers.properties, и он должен находиться в том же каталоге, что и шаблон customers.html.

3) Предположим, что ваш файл свойств содержит эту запись:

amountBiggerThanAvailable=Entered amount is bigger than your available balance. Balance: {0}

4) Для заполнителя {0} Я предполагаю, что у вас есть Java объект с именем account, который имеет свойство с именем availableAmount, которое вы передаете в Thymeleaf обычным способом (то есть так же, как вы передаете любые другие данные в шаблон Thymeleaf). Конечно, ваша версия может отличаться.

Здесь я буду использовать <div> для моего примера - но вы можете использовать все, что захотите, конечно:

5) Используйте сообщение в вашем шаблоне так:

<div th:text="#{customers.amountBiggerThanAvailable(${account.availableAmount})}"></div>

Обратите внимание, что в div нет фактического содержимого (между открывающим <div> и закрывающим </div>). Все директивы Thymeleaf являются атрибутами внутри отверстия <div>.

Приведенный выше фрагмент сгенерирует на вашей веб-странице следующее HTML:

<div>Entered amount is bigger than your available balance. Balance: 123.45</div>

Once у вас так далеко, есть различные улучшения, которые вы можете сделать. Например, вы также можете посмотреть на предоставление локализованных (переведенных) сообщений, как описано здесь .

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