2013-12-11 76 views
0

我從JSON響應中獲取屬性/參數作爲EPOCH時間變量。 我想轉換成dd/MM/yyyy hh:mm:ss格式,並在表中顯示使用JSP Scriplet和JSON模型屬性

<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> 
+0

不能使用'$ {...}''內'<% ... %> –

+0

@MicheleMariotti,可能是:)請解決方案! – Reddy

回答

1

您可以使用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

+0

我收到以下錯誤 無法將類java.lang.String的1377820800轉換爲類java.util.Date – Reddy

+0

在將'record.attributes.P_Close_Time'轉換爲DateTime並將其傳遞給標記的value屬性之前,先將'record.attributes.P_Close_Time'轉換爲DateTime –

+0

我用更改後的代碼更新了問題。仍然錯誤 – Reddy

0
<% 
    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()))); 
%> 

問心無愧!請使用此代碼打印類和發佈結果,所以我可以找出你使用的是什麼類:

<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> 
+0

抱歉,您不明白您的答案。 Record對象來自哪裏?從'pageContext'或'request'隱式的jsp對象(我不記得是第一個還是後一個)的 – Reddy

+0

。 'c:forEach'將當前迭代對象存儲爲name = var的屬性。 –

+0

對不起,沒有工作。它是拋出未知類型記錄 – Reddy