私はこのようなことをしたい:
<?php echo date('Y'); ?>
しかし、それから.jsp
ファイルで。私が見ているすべてのチュートリアルでは、どこかにクラスを作成する必要があります。appFuseとTapestryを実行しています。確かに、そのうちの1つ(Java自体ではない場合)は、この種のことをすべてのオーバーヘッドなしで実行するための何かを提供してくれます。
これは機能するはずですが、機能しません。
<%= new Date.getYear() %>
私はこのようなことをしたい:
<?php echo date('Y'); ?>
しかし、それから.jsp
ファイルで。私が見ているすべてのチュートリアルでは、どこかにクラスを作成する必要があります。appFuseとTapestryを実行しています。確かに、そのうちの1つ(Java自体ではない場合)は、この種のことをすべてのオーバーヘッドなしで実行するための何かを提供してくれます。
これは機能するはずですが、機能しません。
<%= new Date.getYear() %>
インスタンスjsp:useBean
を構築するために使用し、JSTLを使用して、パターンを使用して人間が読める形式の文字列にフォーマットします。java.util.Date
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" />
昔ながらのスクリプトレットの方法は次のようになります。
<%= new java.text.SimpleDateFormat("yyyy").format(new java.util.Date()) %>
ディレクティブを使用しない場合は、完全修飾クラス名を指定する必要があることに注意してください@page import
。これが問題の原因である可能性があります。ただし、スクリプトレットを使用することは、10年以来非常に推奨されていません。
[jsp]
これはすべて、タグ情報ページにも示されています:)
<%= new java.util.Date().getYear() + 1900 %>
私の解決策:
<%@page import="java.util.Calendar"%>
<%@page import="java.util.GregorianCalendar"%>
<%
GregorianCalendar cal = new GregorianCalendar();
out.print(cal.get(Calendar.YEAR));
%>
Java 8で年を印刷するには、次を使用できます。
<%= LocalDate.now().getYear() %>
JSTLを使用してJSPを記述し、その<fmt>
タグを使用して日付などをフォーマットする必要があります。