Использование JSP Scriplet вместе с атрибутами модели JSON
Я получаю атрибут / параметр из ответа JSON как переменную времени EPOCH. Я хочу преобразовать в dd/MM/yyyy hh:mm:ss
форматировать и отображать в таблице
<tbody>
<c:if
test="${not empty jsonResult && not empty jsonResult.records}">
<c:forEach items="${jsonResult.records}" var="record">
<tr>
<td style="width:15%;"><img src="${record.attributes.P_Image_Path}" class="img-responsive" /></td>
<td style="width:15%;">${record.attributes.P_Description}</td>
<td style="width:55%;">${record.attributes.P_Username_Seller}</td>
<%
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
System.out.println(sdf.format( new java.util.Date(${record.attributes.P_Close_Time}));
%>
<td style="width:15%;">${record.attributes.P_Close_Time}</td>
</tr>
</c:forEach>
</c:if>
</tbody>
Но он не может скомпилировать JSP. Я не мог найти, как использовать комбинацию атрибута scriplet и модели из JSON
Обновление пробовал это - не работает
<c:set var="now" value="<%=new java.util.Date(${record.attributes.P_Close_Time}%>" />
<td style="width: 15%;"><fmt:formatDate pattern="dd/MM/yyyy hh:mm:ss" value="${now}" /></td>
Пробовал это - не работает
<td style="width: 15%;"><fmt:formatDate pattern="dd/MM/yyyy hh:mm:ss" value="<%=new java.util.Date(${record.attributes.P_Close_Time})%>" /></td>
Пробовал это - не работает
<td style="width: 15%;"><fmt:formatDate pattern="dd/MM/yyyy hh:mm:ss" value="<%=new java.util.Date(record.attributes.P_Close_Time)>" /></td>
2 ответа
Решение
Вы можете использовать теги JSTL
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:formatDate pattern="dd/MM/yyyy hh:mm:ss" value="${now}" />
http://www.tutorialspoint.com/jsp/jstl_format_formatdate_tag.htm
<%
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
Record record = (Record) pageContext.getAttribute("record");
System.out.println(sdf.format(new Date(record.getAttributes().getP_Close_Time())));
%>
WTH! пожалуйста, используйте этот код, чтобы напечатать классы и опубликовать результат, чтобы я мог выяснить, какие классы вы используете:
<tbody>
<c:if
test="${not empty jsonResult && not empty jsonResult.records}">
<c:forEach items="${jsonResult.records}" var="record">
<tr>
<td style="width:15%;"><img src="${record.attributes.P_Image_Path}" class="img-responsive" /></td>
<td style="width:15%;">${record.attributes.P_Description}</td>
<td style="width:55%;">${record.attributes.P_Username_Seller}</td>
<%
//java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
//System.out.println(sdf.format( new java.util.Date(${record.attributes.P_Close_Time}));
Object record = pageContext.getAttribute("record");
System.out.println("page record: " + (record == null ? null : record.getClass().getName()));
%>
<td style="width:15%;">${record.attributes.P_Close_Time}</td>
</tr>
</c:forEach>
</c:if>
</tbody>