1

フィールド Date (java.sql.Date、Spring 3) を持つエンティティ クラスがあります。Date を String に変換する方法を知っている人はいますか (おそらく @DateTimeFormat(pattern="dd/MM/yyyy") )。手伝ってくれてありがとう

4

2 に答える 2

1

DateFormatterRegistrar にフォーマッタを登録できます。これは、すべての日付オブジェクトの Date オブジェクトの文字列表現が必要なときに自動的に使用されます。ドキュメントを参照してください。

私の作業例は次のようになります。

public class DateFormatterRegistrar implements FormatterRegistrar {

    @Override
    public void registerFormatters(FormatterRegistry registry) {

        registry.addFormatter(new DateFormatter("dd-MM-yyyy"));

    }

}

次に、構成は次のとおりです。

<mvc:annotation-driven conversion-service="conversionService"/> 

<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">

    <property name="formatterRegistrars">
        <set>
            <bean class="path.to.DateFormatterRegistrar" />
        </set>
    </property>

</bean>

しかし、その後、より最近のバージョンに春の DateFormatterRegistrar が含まれていると思います-確認する必要があります-。

これの素晴らしい点は、逆の方法でも機能することです (文字列を日付に変換します)。

ただし、この特定のフィールドのみをフォーマットしたい場合は、 @DateTimeFormat(pattern="dd/MM/yyyy") アノテーションを使用する方法です。問題のフィールドの前に置くだけです。

于 2013-06-20T08:08:33.650 に答える