3

VelocityTools Tools Usage SummaryDateTool Javadoc の両方が、TimeZone を設定するための構成メカニズムを示しているようですが、それが何であるかはわかりません。

DateTool のタイムゾーン セッターはであり、オーバーロードされたメソッドprotectedに TimeZone を繰り返し渡したくありません。format()

(ベロシティツール 2.0)

4

1 に答える 1

7

構成値を標準ツールに渡すには、それらを WEB-INF/tools.xml ファイルに明示的にリストする必要があります。

<?xml version="1.0"?>
<tools>
  <toolbox scope="application">
    <tool key="date"
          class="org.apache.velocity.tools.generic.DateTool"
          timezone="GMT+7"/>
    ...
  </toolbox>
  ...
</tools>

同じ目的で org.apache.velocity.tools.generic.ComparisonDateTool を使用できることに注意してください。これにより、いくつかの優れた日時比較機能が追加されます。

VelocityView ツールの読み込みメカニズムに依存していない場合は、ツールを Velocity コンテキストに配置していることを意味します。その場合、構成値は手動でツール configure(Map) に与えられます。例えば:

Map<String,String> config = new HashMap<>();
config.put(DateTool.TIMEZONE_KEY,"GMT+7");

DateTool date = new DateTool();
date.configure(config);

VelocityContext context = new VelocityContext();
context.put("date", date);
于 2012-08-16T13:13:57.830 に答える