Одинаковый формат даты в th: text и th: field - PullRequest
0 голосов
/ 18 мая 2018

У меня есть объект, который содержит поле даты 'validFrom'.Я хочу, чтобы отображать дату 2 раза, один раз в таблице, где дата только для чтения, один раз в поле ввода, где можно установить дату.Моя проблема в том, что я не могу понять, как правильно отображать дату в обоих случаях, используя клиентскую локаль, которая использует этот формат: dd.MM.yyyy

Вот сущность jpa (неактуальные аннотации пропущены):

public class Category {

    @javax.persistence.Temporal(TemporalType.DATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private java.sql.Date validFrom;

    ....

}

Вот таблица, отображающая сущности:

<tr th:each="item: ${allItems}">
    <td><span th:text="${{item.validFrom}}"></span></td>

Вот страница, на которой пользователь может создать сущность и ввести дату:

<form th:action="@{/categories/edit}" th:object="${entity}" method="post">
    <input type="date" th:field="*{validFrom}"/>

В этой конфигурации я получаю правильный формат (дд.мм.гггг) в поле ввода, но неверный формат в текстовом поле (гггг-ММ-дд).

Когда я изменяю аннотацию в объектена

@DateTimeFormat(pattern = "dd.MM.yyyy")

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

Указанное значение "18.05.2018 "не соответствует требуемому формату,« гггг-ММ-дд ».

Последнее, что я попробовал, - это один из подходов, использующий # date.format (date) тимилиф в текстовом поле.К сожалению, это также добавляет HH: MM: SS, который я не хочу.

Теперь я могу, конечно, передать формат 'dd.MM.yyyy' в качестве второго параметра, но затем он жестко закодирован в мой HTML, который дуетi18n.Поэтому я попытался передать # {date.format}, который я указал в моих messages.properties, но это вызвало ошибку синтаксического анализа.

Выражение [# date.format (item.validFrom, # {date).format})] @ 31: EL1043E: Неожиданный токен.Ожидаемый «идентификатор», но был «lcurly ({)»

Как решить эту проблему?

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