たとえばテンプレート側でDate型の日付をSimpleDateFormat#formatしたいなーとかURLEncoder#encodeしたいときは普通にVelocityContextに突っ込んであげればいいみたい。
Java
VelocityContext context = ...;
context.put("URLEncoder", URLEncoder.class);
context.put("DateFormatter", new SimpleDateFormat(...));
context.put("Text", "ああああああ");
context.put("Date", new Date());
Template template = ...;
template.merge(context, response.getWriter());
Template
${URLEncoder.encode(${Text},"UTF-8")}
${DateFormatter.format(${Date})}
まさかこんな芸当が出来るなんて思ってなくてびっくり(特にURLEncoderの方)。でもこれってパフォーマンス的にどうなんだろ・・・と、思いつつ便利なので使ってしまう。
関連記事:
[GAE/J] Velocityを利用した時の文字化け対処メモ