。フォーマットするライブラリはありますか?私は以下のコードを試みたが、変換例外がある。JSTLのLocalDateTime形式
<fmt:parseDate value="${date}" pattern="yyyy-MM-dd" var="parsedDate" type="date" />
JSTLにLocalDateTimeクラス用のタグまたはコンバーターはありますか?
。フォーマットするライブラリはありますか?私は以下のコードを試みたが、変換例外がある。JSTLのLocalDateTime形式
<fmt:parseDate value="${date}" pattern="yyyy-MM-dd" var="parsedDate" type="date" />
JSTLにLocalDateTimeクラス用のタグまたはコンバーターはありますか?
実際に私は同じ問題があり、元のJoda Time JSPタグをフォークしてJava 8 java.time JSP tagsを作成しました。
そのライブラリを使用しての例では、このようなものになるだろう:
<javatime:parseLocalDateTime value="${date}" pattern="yyyy-MM-dd" var="parsedDate" />
インストール手順については、リポジトリをチェックしてください:https://github.com/sargue/java-time-jsptags
14歳のJSTLには存在しません。
あなたの最善の策はカスタムEL機能を作成することです。まず、ユーティリティメソッドを作成します。
package com.example;
public final class Dates {
private Dates() {}
public static String formatLocalDateTime(LocalDateTime localDateTime, String pattern) {
return localDateTime.format(DateTimeFormatter.ofPattern(pattern));
}
}
そして、EL機能などのユーティリティメソッドをあなたの登録特徴/WEB-INF/functions.tld
を作成します。
<?xml version="1.0" encoding="UTF-8" ?>
<taglib
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
version="2.1">
<tlib-version>1.0</tlib-version>
<short-name>Custom_Functions</short-name>
<uri>http://example.com/functions</uri>
<function>
<name>formatLocalDateTime</name>
<function-class>com.example.Dates</function-class>
<function-signature>java.lang.String formatLocalDateTime(java.time.LocalDateTime, java.lang.String)</function-signature>
</function>
</taglib>
最後に以下のようにそれを使用する:必要に応じて
<%@taglib uri="http://example.com/functions" prefix="f" %>
<p>Date is: ${f:formatLocalDateTime(date, 'dd.MM.yyyy')}</p>
は取る方法を拡張Locale
引数。
いいえ、それはのLocalDateTimeのために存在していません。
ただし、使用することができます。
<fmt:parseDate value="${ cleanedDateTime }" pattern="yyyy-MM-dd'T'HH:mm" var="parsedDateTime" type="both" />
<fmt:formatDate pattern="dd.MM.yyyy HH:mm" value="${ parsedDateTime }" />
がここに(私は春のMVCを使用しています)私の解決策です。コントローラで
モデル属性としてのLocalDateTimeパターンでのSimpleDateFormatを追加します。
model.addAttribute("localDateTimeFormat", new SimpleDateFormat("yyyy-MM-dd'T'hh:mm"));
その後のLocalDateTimeを解析し、java.util.Dateを取得するにはJSPでそれを使用します。
${localDateTimeFormat.parse(date)}
これでJSTLで解析できます。
参照:https://github.com/sargue/java-time-jsptags –