11

私たちのサイトにあるすべてのニュース項目を通過するループがあります。フィールドの 1 つは date${newsitem.value['Date']}で、ミリ秒単位で指定されます。この日付を月/日/年の形式で Web ページに表示したいと思います。JSTL 形式のタグ<fmt:formatDate>が役立つと思ったのですが、うまくいきませんでした。あなたはそれを行う方法を知っていますか?

<cms:contentaccess var="newsitem" />
<h2><c:out value="${newsitem.value['Title']}" /></h2>
// display date here        
<c:out value="${newsitem.value['Text']}"  escapeXml="false" />
4

1 に答える 1

37

はい、JSTLformatDateタグは、Timestamp 値を日付オブジェクトに変更することと組み合わせてジョブを実行する必要があります (これは、コメントに記載されている例外を回避するために必要です)。

fmtJSP 宣言でプレフィックスを適切に定義したことを確認します。

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

出力をレンダリングし、最初にタイムスタンプを日付値に変換します。フォーマット パターンyyyy-MM-ddとして使用していますが、タグは他のフォーマット オプションもサポートしています。dateFormat

<cms:contentaccess var="newsitem" />
<jsp:useBean id="newsDate" class="java.util.Date" />
<jsp:setProperty name="newsDate" property="time" value="${newsitem.value['Date']}" />
<h2><c:out value="${newsitem.value['Title']}" /></h2>
<fmt:formatDate pattern="yyyy-MM-dd" value="${newsDate}" />
<c:out value="${newsitem.value['Text']}" escapeXml="false" />
于 2010-04-12T08:30:16.450 に答える