web-dev-qa-db-ja.com

JSTLを使用して長いタイムスタンプを日付にフォーマットする

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

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

何かアドバイス?

ありがとう。

18
scubabbl

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"/>
8
ScArcher2

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"/>
47
BenM