web-dev-qa-db-ja.com

JSPで現在の日付を印刷する方法は?

私はこのようなことをしたいです:

 <?php echo date('Y'); ?>

しかし.jspファイル。すべての チュートリアル どこかにクラスを構築する必要があると思います。 appFuseとTapestryを実行しています。確かにそれらのうちの1つ(そうでない場合Java自体)は、この種のことをすべてのオーバーヘッドなしで実行するための何かを提供してくれます。

これはうまくいくようですが、うまくいきません:

 <%= new Date.getYear() %>
20
sprugman

jsp:useBeanを使用してJava.util.Dateインスタンスを作成し、JSTL fmt:formatDate を使用して SimpleDateFormatを使用して人間が読める文字列にフォーマットします パターン。

<%@ taglib uri="http://Java.Sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="date" class="Java.util.Date" />
Current year is: <fmt:formatDate value="${date}" pattern="yyyy" />

昔ながらのscriptletの方法は次のようになります。

<%= new Java.text.SimpleDateFormat("yyyy").format(new Java.util.Date()) %>

@page importディレクティブを使用しない場合は、完全修飾クラス名を指定する必要があることに注意してください。これが問題の原因である可能性があります。 scriptletsを使用することは、10年前から非常に 非推奨 です。

これはすべて [jsp]タグ情報ページ にも示されています:)

62
BalusC

<%= new Java.util.Date().getYear() + 1900 %>

2
jtn

私の解決策:

<%@page import="Java.util.Calendar"%>
<%@page import="Java.util.GregorianCalendar"%>
    <%
      GregorianCalendar cal = new GregorianCalendar();
      out.print(cal.get(Calendar.YEAR));
    %>
1

[〜#〜] jstl [〜#〜] を使用してJSPを記述し、その<fmt>タグを使用して日付などをフォーマットする必要があります。

0
duffymo

Java 8で年を出力するには、以下を使用できます。

<%= LocalDate.now().getYear() %>
0
Kamil