JSTL formatDate всегда форматирует шаблон "MMM" в "Jan" - PullRequest
0 голосов
/ 25 февраля 2011

В цикле foreach я устанавливаю curMonth и curDisplayedMonth следующим образом:

<fmt:formatDate value="${curDate}" type="date" pattern="m" var="curMonth" />
<fmt:formatDate value="${curDate}" type="date" pattern="MMM" var="curDisplayedMonth" />

и используйте их в раскрывающемся списке как

<option value="<c:out value="${curMonth}"/>" <c:if test="${selectedMonth == curMonth}">selected</c:if>>
<c:out value="${curDisplayedMonth}"/>
</option>

но форматирует все до января:


enter image description here


и значения в опциях верны:


enter image description here

Ответы [ 2 ]

0 голосов
/ 13 февраля 2018

Вам необходимо исправить ваш pattern вариант.Для отображения месяца в формате JSTL formatDate используйте следующие параметры:

<%-- Displays numeric month (ex: 1) --%>
<fmt:formatDate value="${curDate}" pattern="M" />

<%-- Displays  two-digit numeric month (ex: 01) --%>
<fmt:formatDate value="${curDate}" pattern="MM" />

<%-- Displays  the month abbreviation (ex: Jan) --%>
<fmt:formatDate value="${curDate}" pattern="MMM" />

<%-- Displays  the full month name (ex: January) --%>
<fmt:formatDate value="${curDate}" pattern="MMMM" />

Кроме того, в приведенном выше примере:

<fmt:formatDate value="${curDate}" type="date" pattern="m" var="curMonth" />

pattern="m" представляет минуту.

0 голосов
/ 25 февраля 2011

Атрибуты type и pattern являются взаимоисключающими.Вы используете один или другой, но не оба.

Атрибут type - это просто удобный способ указать некоторые общие шаблоны.

Если вы хотите использовать pattern, вам следуетудалить атрибуты type="date".

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