アパッチ ベロシティ
| アパッチ ベロシティ | |
|---|---|
| 開発者 | Apacheソフトウェア財団 |
| 安定版リリース | 2.4.1 / 2024年10月14日[1] |
| リポジトリ | Velocityリポジトリ |
| 書かれた | ジャワ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | テンプレートエンジン |
| ライセンス | Apacheライセンス2.0 |
| Webサイト | 速度.apache.org |
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テンプレートで利用できるようにするAntタスク「Anakia」を提供しています。一般的な用途としては、汎用的な「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 **西へ行く** # endDynamoDB 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テンプレート エンジンの構文に似ています。 [引用が必要]
参照
- アパッチトルク
- フリーマーカー
- Jakarta サーバーページ
- タイムリーフ
参考文献
- ^ 「Apache Velocity - プロジェクトニュース」。velocity.apache.org . Apache Software Foundation . 2025年3月17日閲覧。
- ^ "PoweredByVelocity". Velocity Wiki . Wiki.apache.org. 2009年12月30日. 2010年3月23日時点のオリジナルよりアーカイブ。 2010年3月29日閲覧。
参考文献
- Harrop, Rob; Darwin, Ian (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のVelocity
- ユーザーガイド
