<分区>
对于 Web 应用程序,如果 Delphi 对象属性和方法可以与 HTML 代码“连接”起来,将会很有帮助。
这可以在 HTML 响应构建阶段和请求处理阶段以多种方式使用:
- 访问服务器端对象属性值以在 HTML 代码中输出它
- 将服务器端对象属性绑定(bind)到 HTML 表单输入字段,以便 Web 应用程序发送带有当前值的表单 HTML,并在客户端提交表单时将属性设置为输入的值
- 将一个HTML表单按钮绑定(bind)到一个服务器端对象方法,该方法将在客户端提交表单时执行
我还没有找到一个原生的 Delphi 库,它可以更容易地将这样的 HTML 添加到 Delphi 对象绑定(bind)。
我的问题:
是否有类似 Apache Velocity 的脚本代码生成模板引擎?或 Freemarker (参见下面的示例)我可以在 Delphi 应用程序中使用哪些? (不在 IDE 中——我不是在寻找基于 OTA 的解决方案或 Delphi 代码模板)
模板引擎会将 Delphi 对象绑定(bind)到模板并替换脚本变量,并根据对象中的值执行迭代/条件。模板可以嵌套(调用其他模板)。
典型的用例是动态生成 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's T4 Code Generation和 Smarty .