db_CREATION_DATE=2024-06-24T13:14:00.000+0300
Затем я необходимо использовать это поле в http-запросе. Тело запроса формируется как шаблон Velocity, который используется в моем Java-приложении для динамической генерации текста. Мне нужно преобразовать эту дату в формат ггггММдд. Можно ли этого добиться с помощью VLT?
Я попробовал следующий код
Код: Выделить всё
private final static String TEMPLATE_DATE = "{\"applicationCreationDate\": #if(${db_CREATION_DATE})#set($toDate= $dateTool.toDate('yyyy-MM-dd'T'HH:mm:ss.SSSZ', ${db_CREATION_DATE}))#set($formattedDate=$dateTool.format('yyyyMMd', ${toDate}))\"${formattedDate}\"#{else}#end}
String request = processTemplate(TEMPLATE_DATE, contextVTL);
public static String processTemplate(String template, VelocityContext contextVTL) {
VelocityEngine ve = new VelocityEngine();
StringWriter w = new StringWriter();
ve.evaluate(contextVTL, w, "BaseHandlerVTL", template);
return StringUtils.trim(w.toString());
}
Исключение в потоке «main» org.apache.velocity.Exception.ParseErrorException: Обнаружено «T» в BaseHandlerVTL[строка 1, столбец 98]
Подробнее здесь: https://stackoverflow.com/questions/786 ... d-datetool