Использование 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>
Другие вопросы по тегам