对于 Web 应用程序,如果 Delphi 对象属性和方法可以与 HTML 代码“连接”,那将会很有帮助。
这可以在 HTML 响应构建阶段和请求处理阶段以多种方式使用:
- 访问服务器端对象属性值以将其输出到 HTML 代码中
- 将服务器端对象属性绑定到 HTML 表单输入字段,以便 Web 应用程序发送表单 HTML 及其当前值,并在客户端提交表单时将该属性设置为输入的值
- 将 HTML 表单按钮绑定到服务器端对象方法,该方法将在客户端提交表单时执行
我还没有找到一个原生的 Delphi 库,它可以更容易地将这样的 HTML 添加到 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 Code Generation和Smarty。