Thymeleaf разбирает строку препроцессинга до даты и форматирует ее - PullRequest
0 голосов
/ 03 сентября 2018

У меня атрибут модели содержит список свойств значение, которое я хочу отформатировать, аналогично этой строке 2012-07-16T00: 00: 00 Я пытаюсь использовать

    <p th:text="${#temporals.format(${myData.mdProperties.get('completionDate')}, 'dd-MM-yyyy')}"></p>

Синтаксический анализ продолжает давать сбой, тогда я подумал, что мне следует преобразовать String в дату с использованием пользовательского диалекта, но сложно найти какое-то более простое решение

даже я пытаюсь преобразовать строку в дату основанный на этом вопросе , но это не удалось

<p th:text="${#temporals.format(new java.util.Date(${{myData.mdProperties.get('completionDate')}}), 'dd-MM-yyyy')}"></p>

есть какие-нибудь предложения здесь?

спасибо заранее

1 Ответ

0 голосов
/ 04 сентября 2018

У вас слишком много скобок в каждом вашем выражении. Как правило, вы никогда не должны иметь вложенных ${ ... } выражений (исключая при предварительной обработке).

Кроме того, вам необходимо создать простой формат даты, чтобы сначала проанализировать ваши даты. Это сработало для моего теста:

<th:block th:with="sdf = ${new java.text.SimpleDateFormat('yyyy-MM-dd''T''HH:mm:ss')}">
    <p th:text="${#dates.format(sdf.parse(myData.mdProperties.get('completionDate')), 'dd-MM-yyyy')}" />
</th:block>
...