Web アプリケーションの場合、Delphi オブジェクトのプロパティとメソッドを HTML コードで「接続」できると便利です。
これは、HTML レスポンスのビルド段階とリクエスト処理段階の両方で、さまざまな方法で使用できます。
- サーバー側オブジェクトのプロパティ値にアクセスして HTML コードで出力する
- サーバー側オブジェクト プロパティを HTML フォーム入力フィールドにバインドし、Web アプリケーションが現在の値を含むフォーム HTML を送信し、クライアントがフォームを送信するときに入力された値にプロパティを設定するようにします。
- HTML フォーム ボタンをサーバー側オブジェクト メソッドにバインドします。このメソッドは、クライアントがフォームを送信したときに実行されます。
このような HTML を Delphi オブジェクト バインディングに簡単に追加できるネイティブ Delphi ライブラリは見つかりませんでした。
私の質問:
Delphi アプリケーションで使用できる、 Apache VelocityやFreemarkerなどのスクリプト コード生成用のテンプレート エンジンはありますか(以下の例を参照)。(IDE にはありません - OTA ベースのソリューションや Delphi コード テンプレートは探していません)
テンプレート エンジンは、Delphi オブジェクトをテンプレートにバインドし、スクリプト変数を置き換え、オブジェクトの値に基づいて反復/条件を実行します。テンプレートはネストできます (他のテンプレートを呼び出します)。
典型的なユース ケースは、HTML コードの動的生成ですが、Delphi コード ジェネレータでも機能します。
速度の例:
<HTML>
<BODY>
Hello $customer.Name!
<table>
#foreach( $mud in $mudsOnSpecial )
#if ( $customer.hasPurchased($mud) )
<tr>
<td>
$flogger.getPromo( $mud )
</td>
</tr>
#end
#end
</table>
フリーマーカーの例:
<html>
<head>
<title>Welcome!</title>
</head>
<body>
<h1>Welcome ${user}!</h1>
<p>Our latest product:
<a href="${latestProduct.url}">${latestProduct.name}</a>!
</body>
</html>
私が探しているものに似ている他のテンプレート エンジンは、Visual Studio の T4 コード生成とSmartyです。