Velocity

Velocityについて

コミュニティ

ドキュメント

比較

ツール

Texen とは?

Texenは、汎用テキスト生成ユーティリティです。 それは、ほとんどどんな種類のテキストでも生成することができます。 Antによって実行され、その実体は、Antタスクで、 Texenは、制御テンプレート、オプションでワーカーテンプレートの組と、出力生成するための 制御コンテキストを使用します。 TexenTaskを直接使うことができるけれども、どんな出力でも生成する前にあなたの制御コンテキストを初期化することは通常サブクラス化されます。

Texenは、Turbine Webアプリケーション・フレームワークで必要とされるソース生成を 行なうために作成されました。 Turbine にある Torqueユーティリティ (それはTexenTaskのサブクラスです)では、TurbineプロジェクトのためにSQLとオブジェクト-関係のある写像したソースを生成することに対して責任があります。 これは、1つの例にすぎません; あなたは、テキスト出力のほとんどどんな種類でも生成するためにTexenを使うことができます!


TexenTask

この平凡な例(それはAnt build.xmlからTexenを使う方法を示します)は、 Texen仕組みが働く方法を図示するつもりです。

Ant Build File

<project name="HtmlGenerator" default="main" basedir=".">

  <taskdef name="texen" classname="org.apache.velocity.texen.ant.TexenTask"/>

  <!-- ================================================================ -->
  <!-- G E N E R A T E  H T M L  P A G E S                              -->
  <!-- ================================================================ -->
  <!-- This target will generate a set of HTML pages based on           -->
  <!-- the information in our control context.                          -->
  <!-- ================================================================ -->

  <target name="main">

    <echo message="+------------------------------------------+"/>
    <echo message="|                                          |"/>
    <echo message="| Generating HTML pages!                   |"/>
    <echo message="|                                          |"/>
    <echo message="+------------------------------------------+"/>

    <texen
      controlTemplate="Control.vm"
      outputDirectory="."
      templatePath="."
      outputFile="generation.report"
    />

  </target>

</project>

Control Template

#*

file: Control.vm

This is the control template for our HTML
page generator!

*#

#set ($Planets = ["Earth", "Mars", "Venus"])

#foreach ($planet in $Planets)

    $outputFile = strings.concat([$planet, ".html"])
    $generator.parse("HtmlTemplate.vm", $outputFile, "planet", $planet)

#end

Worker Template

#*

file: HtmlTemplate.vm

This is worker template. It is called by the
control template to produce useful output (or
not so useful in this case). :-)

*#

#set ($bgcolor = "#ffffff")

<html>
  <head>
    <title>
      Everything you wanted to know about $planet!
    </title>
  </head>
  <body bgcolor="$bgcolor">

  $planet is a great place to live!

  </body>
</html>

Texenは、3つのhtmlページを生成します: Earth.html、Mars.htmlとVenus.htmlです。 サブクラスがそうしてより役に立つ何か、あなたに役立つためにTexenTask、立場情報が役に立つ出力を生成するために制御コンテキストで置いた制御コンテキストと用途には若干のオブジェクト。 さらに便利にするために、コンテキスト制御内で幾つかのオブジェクトを置いて、 出力を生成するためにコンテキスト制御内において情報を使用します。

Texenの全機能の例は、TurbineでのTorqueユーティリティを参照してください。 Torqueのスタンドアローン版は、 ここにあります。



このドキュメントは、 熊坂祐二 が訳しました。コメントがある場合は、 jajakarta-report@jajakarta.good-day.net までお願いします。
Copyright © 1999-2001, Apache Software Foundation