如何使用Spring Expression语言进行日期处理?

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

最佳答案

不幸的是,java.util.Calendar没有构建器API,因此它不是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();
    }
}


然后,在SpEL中...

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


如果您不想使用帮助器类,也可以使用。

关于java - 如何在SpEL中进行日期处理?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9832090/

10-13 09:14