스프링 표현 언어로 날짜를 조작하려면 어떻게해야합니까?SpEL에서 날짜를 어떻게 조작합니까?
<si:service-activator id="entryReader" expression="@blogEntryReader.getEntriesBetweenDates(payload.startDate, payload.startDate **PLUS 30 DAYS**)" input-channel="blogEntryReaderChannel"/>
스프링 표현 언어로 날짜를 조작하려면 어떻게해야합니까?SpEL에서 날짜를 어떻게 조작합니까?
<si:service-activator id="entryReader" expression="@blogEntryReader.getEntriesBetweenDates(payload.startDate, payload.startDate **PLUS 30 DAYS**)" input-channel="blogEntryReaderChannel"/>
불행히도 java.util.Calendar에는 빌더 API가 없으므로 SpEL 친화적이지 않습니다. 하나 개의 솔루션은 ... 헬퍼 클래스를 사용하는 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();
}
}
... 것
T(foo.CalendarManip).addDays(payload.startDate, 30)
또한 사용할 수있는 < INT-그루비 : 스크립트/> 당신이 돈이 ' 헬퍼 클래스를 원한다.
T(org.apache.commons.lang.time.DateUtils).addDays(payload.startDate, 30)
당신은 액세스에게 SpelEvaluationContext에 필요한 날짜 조작 함수를 작성하고이를 주입 될이 작업을 수행 할 수있는 정돈 방법이있는 경우 :
지원이 작동하는 이유를 자세히 설명 할 수 있습니까? –
대답을 설명하십시오. – Gwenc37
좋은 간단한 해결책은 여기 있습니다 ... 나는 여기에서 일어나는 일이 매우 간단하다고 생각했을 것입니다 ...? 아파치 커먼즈의 DateUtils 클래스에서 정적 메소드 addDays 호출하기 –