22

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

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

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

これは機能するはずですが、機能しません。

 <%= new Date.getYear() %>
4

5 に答える 5

68

インスタンスjsp:useBeanを構築するために使用し、JSTLを使用して、パターンを使用して人間が読める形式の文字列にフォーマットします。java.util.Datefmt:formatDateSimpleDateFormat

<%@ 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" />

昔ながらのスクリプトレットの方法は次のようになります。

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

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

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

于 2010-09-10T15:35:20.217 に答える
2

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

于 2012-04-25T19:36:15.170 に答える
2

私の解決策:

<%@page import="java.util.Calendar"%>
<%@page import="java.util.GregorianCalendar"%>
    <%
      GregorianCalendar cal = new GregorianCalendar();
      out.print(cal.get(Calendar.YEAR));
    %>
于 2011-08-19T08:15:38.123 に答える
1

Java 8で年を印刷するには、次を使用できます。

<%= LocalDate.now().getYear() %>
于 2019-12-13T12:28:10.807 に答える
-1

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

于 2010-09-10T16:16:19.450 に答える