Я маю дату в часовій зоні, відмінній від GMT, і я хочу перетворити його часовий пояс у GMT на шаблон Velocity.
Я не знаю, чи можна створювати об'єкт Calendar або TimzeZone або Locale на шаблоні Velocity
#set ($ tz = java.util.TimzZone.getTimeZone ("GMT"))
тому що якщо це можливо, то проблему можна легко вирішити, використовуючи функції toDate або форматування, надані DateTool
Відповіді:
0 для відповіді № 1Гаразд, так що тут я відповідаю на моє власне питання. Схоже, ви не можете створити примірник об'єкта, якщо ви не пройшли клас у контексті сценарію. Підсумок - все, що ви надасте в контексті, буде доступним для сценаріїв шаблону, навіть інструменти, які повинні бути налаштовані перед використанням для використання в шаблонах.
Тим не менш, я не можу сказати, напевно, як шаблони будуть вести себе, коли вони використовуються в / з файлом JSP. Мій сценарій використання відрізняється, коли я намагаюся програмно запустити сценарій шаблону.
0 для відповіді № 2
Ви можете "t instiate у швидкості, але ви можете instiate у java та виклик його функції у шаблоні швидкості. Ось приклад для вас.
context.put("GMT", TimeZone.getTimeZone("GMT"))
Тепер ви можете використовувати $ GMT у шаблоні швидкості, як це.
date.format(format,object, locale,$GMT)