Как использовать дату форматирования как "yyyy-MM-dd" с JSTL?
Я хочу взять дату из БД и отобразить на jsp:
2014-04-02
вместо:
2014-04-02 00: 00: 00.0
В jsp я попытался использовать тег c: fmt для даты форматирования:
<div class="form-group">
<span><fmt:message key="task.start"/></span>
<input class="form-control" id="firstDate" placeholder="<fmt:message key="task.start"/>"
name="start_date-${task.taskId}"
<fmt:formatDate value="${task.startDate}" var="startFormat" type="date" pattern="yyyy-MM-dd"/>
value="${startFormat}"/>
</div>
Глядя на страницу:
![view]()
Как отформатировать его в формате yyyy-MM-dd?
Ответы
Ответ 1
Сначала вам нужно добавить строку ниже в начало файла jsp
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
Теперь вы можете использовать <fmt:formatDate>
и <fmt:parseDate>
для даты форматирования.
<fmt:formatDate value="${now}" pattern="yy-MMM-dd"/>
PS: В вашем коде я видел, что у вас были некоторые ошибки с тегом jsp. Я думаю, что это должно быть
<div class="form-group">
<span><fmt:message key="task.start"/></span>
<input class="form-control" id="firstDate" placeholder="<fmt:message key='task.start'/>"
name="start_date-${task.taskId}" value="<fmt:formatDate value='${task.startDate}' var='startFormat' type='date' pattern='yyyy-MM-dd'/>"
</div>
Ответ 2
value
для fmt:formatDate
- это объект Date (java.util.Date
). Если task.startDate
является датой в виде строки, вам необходимо заранее ее преобразовать.
<fmt:parseDate value="${task.startDate}" pattern="yyyy-MM-dd HH:mm:ss" var="myDate"/>
<fmt:formatDate value="${myDate}" var="startFormat" pattern="yyyy-MM-dd"/>