問題を解決するいくつかの方法を共有しています。
初め:
だと思いますjava.util.Date
。
このように現在の日付を取得できます
<jsp:useBean id="now" class="java.util.Date"/>
次に、EL 式を使用してそれらを比較できます。
{code}
<c:if test="${submitDate < now}">
We have not yet reached the submit date.
</c:if>{code}
EL は Java の compareTo メソッドを使用するため、この比較が機能するには、両方のオブジェクトが同じクラスである必要があります。
データベースから文字列を取得する場合は、Java 日付を取得するために使用する必要があります。データベースからa を取得するjava.sql.Date
と、さらにトリッキーになります。ハックは行くことですjava.sql.Date -> String -> java.util.Date using <fmt:formatDate> and <fmt:parseDate>
リソース リンク:
現在の日付を JSTL による db のデータと比較する
2番:
<fmt:parseDate value="${found.submitDate}" pattern="yy/MM/dd" var="submitDate"/>
<c:if test="${submitDate <now}">
We have not yet reached the submit date.
</c:if>
三番:
クリーンな方法の 1 つは、jsp:useBean
タグを使用して現在の日付/時刻を含むページ スコープの変数を作成し、通常の JSTL を使用してオブジェクトを比較することです。
最初にページ スコープを作成しjava.util.Date object
(jsp:useBean を使用)、次に ${now} を使用して現在の日付/時刻を参照します。これは現在、通常の JSP オブジェクトであるため、通常の JSTL 演算子はこの変数で機能します。
<jsp:useBean id="now" class="java.util.Date"/>
<c:if test="${someEvent.startDate lt now}">
It's history!
</c:if>
リソース リンク:
JSP での JSTL 日付と現在時刻 (今) の比較