2009年12月17日木曜日

VelocityViewでtoolbox.xmlを設定

スズキです。

VelocityView(VelocityViewServle/VelocityLayoutServlet)では、
http://blog.suz-lab.com/2009/12/gaejvelocity.html
http://blog.suz-lab.com/2009/12/gaejvelocitylayoutservlet.html
以下のように、toolbox.xmlを設定することにより、
テンプレート上で便利クラスを利用することができます。
(詳細は書きURLの"Toolbox Configuration"のところです)
http://velocity.apache.org/tools/releases/1.4/view/

--------【WEB-INF/toolbox.xml】--------
<?xml version="1.0"?>
<toolbox>
  <tool>
    <key>date</key>
    <scope>application</scope>
    <class>org.apache.velocity.tools.generic.ComparisonDateTool</class>
  </tool>
</toolbox>
--------

上記を利用したVelocityテンプレートは以下のようになります。

--------【Velocity】--------
<dl>
  #foreach($entry in $feed.entries)
  <dt>$date.format("yyyy/MM/dd", $entry.publishedDate)</dt>
  <dd><a href="$entry.link">$entry.title</a></dd>
  #end
</dl>
--------

今回は、テンプレート上で日付をフォーマットしたかったので、
DateTool(ComparisonDateTool)を利用してみました。
(DateToolに関する詳細はこちらです)
http://velocity.apache.org/tools/releases/1.4/javadoc/org/apache/velocity/tools/generic/DateTool.html

※"WEB-INF/lib"に下記jarが必要です。
commons-beanutils-1.7.0.jar
velocity-tools-generic-1.4.jar

他にも以下で紹介されているように、いろいろなToolが用意されています。
http://velocity.apache.org/tools/releases/1.4/generic/
http://velocity.apache.org/tools/releases/1.4/javadoc/org/apache/velocity/tools/view/tools/package-summary.html

AbstractPagerToolとか面白そうだなー。
  

0 コメント: