Loading article…
| 開発者 | Apache ソフトウェア財団 |
|---|---|
| 安定リリース | 2.3 / 2021年2月27日[1] |
| リポジトリ | 速度リポジトリ |
| 書かれた | ジャワ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | テンプレートエンジン |
| ライセンス | Apache ライセンス 2.0 |
| Webサイト | 速度 |
2001 年 4 月に初めてリリースされたApache Velocity は、 Java コードで定義されたオブジェクトを参照するためのテンプレート言語を提供するJavaベースのテンプレート エンジンです。Webアプリケーションにおけるプレゼンテーション層とビジネス層を明確に分離することを目的としています(モデル - ビュー - コントローラ設計パターン)。
Velocity は、Apache Software Foundationが主催するオープン ソースソフトウェア プロジェクトです。Apache Licenseに基づいてリリースされています。Jon Scott Stevens は、 PowerPC G4チップのAltiVec Velocity Engineにちなんでこの名前をつけました。
用途
Velocity を使用する一般的なアプリケーションの種類は次のとおりです。
Web アプリケーション: Web 開発者はHTMLページ構造をレンダリングします。コンテンツには動的な情報が取り込まれます。ページはVelocityViewServletまたは Velocity をサポートするいくつかのフレームワークのいずれかを使用して処理されます。
AWS API Gateway 本体マッピングテンプレート。 - ソースコード生成: Velocityはテンプレートに基づいてJava、SQL、またはPostScriptのソースコードを生成するために使用できます。多くのオープンソースおよび商用開発ソフトウェアパッケージは、この方法でVelocityを使用しています。[2]
- 自動メール: 多くのアプリケーションは、アカウントのサインアップ、パスワードのリマインダー、またはレポートの自動送信のために自動メールを生成します。Velocity を使用すると、メールテンプレートをJava コードに直接埋め込むのではなく、テキスト ファイルに保存できます。
- XML変換: Velocity は、 XML ファイルを読み取り、それを Velocity テンプレートで使用できるようにする Anakia と呼ばれるAntタスクを提供します。一般的なアプリケーションは、汎用の "xdoc" 形式で保存されたソフトウェア ドキュメントをスタイル設定された HTML ドキュメントに変換することです。
- AWS API Gateway は、ボディマッピングテンプレートに Apache Velocity エンジンを使用します - JSONが出力されます。
コード例
次のテンプレート:
## Velocity Hello World
< html >
< body >
# set ( $ foo = "Velocity" )
##続いて
Hello $ foo World!
</ body >
</ html >
Velocity によって処理されると、次の HTML が生成されます。
< html >
<本文>
こんにちは、Velocity World!
</ボディ>
</ html >
条件を使用した別の例:
# if ( $ foo < 10 )
**北へ行く**
# elseif ( $ foo == 10 )
**東へ行く**
# elseif ( $ bar == 6 )
**南へ行く**
# else
**西へ行く**
# end
DynamoDB HTTP用の AWS API Gateway 本体マッピングテンプレート:
{
"TableName": "happy-marketer",
"KeyConditionExpression": "pk = :pk AND begins_with(sk, :sk)",
# if ($ input . params ( 'projectStatus' ) == 'archived' ) "FilterExpression": "projectStatus = :Archived", # else "FilterExpression": "projectStatus = :InProgress OR projectStatus = :Completed", # end "ExpressionAttributeValues": { ":pk": { "S": "project" }, ":sk": { "S": " $ context . authorizer .claims . email " }, # if ($ input . params ( ' projectStatus' ) == 'archived' ) ":Archived": { "S": "Archived" } # else ":InProgress": { "S": "In Progress" }, " :Completed": { "S": "Completed" } #終わり } }
オプションの配列を使用した別の例。条件なしの場合、結果の JSON が無効になるため失敗します。
{
"email": " $ context . authorizer .claims . email " # if ($ input . params ( 'countries' ) ! = "" ) , "countries": $ input . params ( 'countries' ) # end }
Apache Velocity テンプレートの構文と全体的な概念は、現在もオープン ソース プロジェクトとなっている古いWebMacroテンプレート エンジンの構文に似ています。[引用が必要]
参照
- アパッチトルク
- フリーマーカー
- ジャカルタ サーバー ページ
- タイムリーフ
参考文献
- ^ 「Apache Velocity - プロジェクトニュース」。velocity.apache.org。Apache Software Foundation 。 2021年4月2日閲覧。
- ^ "PoweredByVelocity". Velocity Wiki . Wiki.apache.org. 2009-12-30. 2010年3月23日時点のオリジナルよりアーカイブ。 2010年3月29日閲覧。
文献
- ハロップ、ロブ、ダーウィン、イアン(2004年8月30日)、Pro Jakarta Velocity:From Professional to Expert(第1版)、Apress、p. 370、ISBN 978-1-59059-410-0、2009年7月5日時点のオリジナルよりアーカイブ、2009年9月4日閲覧。
- コール、ジム、D. グレードキ、ジョセフ (2003 年 7 月 16 日)、Mastering Apache Velocity (第 1 版)、Wiley、p. 372、ISBN 978-0-471-45794-7、2012年10月7日時点のオリジナルよりアーカイブ、 2009年9月4日閲覧。
外部リンク
- Apache の速度
- ユーザーガイド
