いくつかのタイムスタンプ値をコレクションから人間が読める日付形式に変換しようとしています。jsp 内で、次のループをコーディングしました。
<c:forEach items="${tokenCollection}" var="tokenCollection" varStatus="status">
<jsp:setProperty name="dateValue" property="time" value="${tokenCollection.value.timestamp}" />
<fmt:formatDate value="${dateValue}" pattern="MM/dd/yyyy HH:mm" />
<!-- Correctly prints values as "40aa4ab4-f6c1-458a-9v3d-5d13b872d9c2" -->
<c:out value="${tokenCollection.value.value}"/>
<!-- Correctly prints values as "1378722681816" -->
<c:out value="${tokenCollection.value.timestamp}"/>
</c:forEach>
残念ながら、実行して得られるのは次のとおりです。
org.apache.jasper.JasperException: An exception occurred processing JSP page /session_management.jsp at line 36
33: <p>Dati di sessione - utente "<c:out value="${username}" />"</p>
34:
35: <c:forEach items="${tokenCollection}" var="tokenCollection" varStatus="status">
36: <jsp:setProperty name="dateValue" property="time" value="${tokenCollection.value.timestamp}" />
37: <fmt:formatDate value="${dateValue}" pattern="MM/dd/yyyy HH:mm" />
38: <c:out value="${tokenCollection.value.value}"/>
39: <c:out value="${tokenCollection.value.timestamp}"/>
org.apache.jasper.JasperException: org.apache.jasper.JasperException: java.lang.NumberFormatException: For input string: "${tokenCollection.value.timestamp}"
コメントに記載されているように、値は正しく取得されるため、 ${tokenCollection.value.timestamp} は必ずタイムスタンプです (1378722681816 など)。それでも、この問題を修正する方法、または正確に何が間違っているのかわかりません。ヒントはありますか?