18

データベースから長いタイムスタンプを取得していますが、JSP に Java を埋め込まずに、タグのみを使用して日付として表示したいと考えています。

parseDate タグと formatDate タグを機能させることができなかったため、これを行うために独自のタグを作成しましたが、機能しないわけではありません。

何かアドバイス?

ありがとう。

4

2 に答える 2

51

jsp:useBeanおよびjsp:setPropertyタグを使用してJSP内に日付オブジェクトを作成し、新しく作成された日付オブジェクトの時刻をタイムスタンプの時刻に設定することで、サーブレットに変更を加える必要がなくなります。例えば:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="dateValue" class="java.util.Date"/>
<jsp:setProperty name="dateValue" property="time" value="${timestampValue}"/>
<fmt:formatDate value="${dateValue}" pattern="MM/dd/yyyy HH:mm"/>
于 2010-04-13T10:08:07.710 に答える
8

parseDate および formatDate タグは機能しますが、Date オブジェクトで機能します。new java.util.Date(longvalue) を呼び出して日付オブジェクトを取得し、それを標準タグに渡すことができます。

jsp 以外の場所で日付オブジェクトを作成します。

long longvalue = ...;//from database.
java.util.Date dateValue = new java.util.Date(longvalue);
request.setAttribute("dateValue", dateValue);

リクエストに入れると、このようにタグでアクセスできます。

<fmt:formatDate value="${dateValue}" pattern="MM/dd/yyyy HH:mm"/>
于 2008-09-16T18:52:40.297 に答える