2012-03-22 2 views
1

Spring Expression Languageで日付を操作するにはどうしたらいいですか?それはSPELフレンドリーではありませんので、SpELで日付を操作するにはどうすればよいですか?

<si:service-activator id="entryReader" expression="@blogEntryReader.getEntriesBetweenDates(payload.startDate, payload.startDate **PLUS 30 DAYS**)" input-channel="blogEntryReaderChannel"/> 

答えて

3

残念ながら、java.util.Calendarのは、ビルダーAPIを持っていません。 「あなたはドン場合は、スクリプト/ >:一つの解決策は、あなたがまた< INT-グルーヴィーを使用することができます

T(foo.CalendarManip).addDays(payload.startDate, 30) 

... SPELに、そして、...

public static class CalendarManip { 

    public static Date addDays(Date date, int days) { 
     Calendar cal = Calendar.getInstance(); 
     cal.setTime(date); 
     cal.add(Calendar.DAY_OF_YEAR, 30); 
     return cal.getTime(); 
    } 
} 

をヘルパークラスを使用することですヘルパークラスが必要です。

1
T(org.apache.commons.lang.time.DateUtils).addDays(payload.startDate, 30) 
+0

ケアを? –

+0

答えを説明してください – Gwenc37

+0

素敵なシンプルな解決策です...私はここで起こっていることはかなり簡単だと思いました...?静的メソッドaddDaysを、Apacheの共有クラスのDateUtilsクラスで呼び出します。 –

関連する問題