对于Web应用程序来说,如果Delphi对象的属性和方法能够与HTML代码“连接”起来将会很有帮助。
这可以在HTML响应构建阶段和请求处理阶段中以多种方式使用:
- 访问服务器端对象属性值以在HTML代码中输出它 - 将服务器端对象属性绑定到HTML表单输入字段,使得Web应用程序发送带有当前值的表单HTML,并在客户端提交表单时将属性设置为输入的值 - 将HTML表单按钮绑定到服务器端对象方法,当客户端提交表单时将执行该方法
我没有找到一个原生的Delphi库,可以更容易地添加这样的HTML到Delphi对象绑定中。
我的问题是:
是否有一个脚本代码生成的模板引擎,例如Apache Velocity或Freemarker(请参见下面的示例),我可以在Delphi应用程序中使用?(不是在IDE中 - 我不是在寻找基于OTA的解决方案,或者Delphi代码模板)
模板引擎会将Delphi对象绑定到模板上,并替换脚本变量,根据对象中的值执行迭代/条件。模板可以嵌套(调用其他模板)。
典型用例是动态生成HTML代码,但也适用于Delphi代码生成器。
Velocity示例:
这可以在HTML响应构建阶段和请求处理阶段中以多种方式使用:
- 访问服务器端对象属性值以在HTML代码中输出它 - 将服务器端对象属性绑定到HTML表单输入字段,使得Web应用程序发送带有当前值的表单HTML,并在客户端提交表单时将属性设置为输入的值 - 将HTML表单按钮绑定到服务器端对象方法,当客户端提交表单时将执行该方法
我没有找到一个原生的Delphi库,可以更容易地添加这样的HTML到Delphi对象绑定中。
我的问题是:
是否有一个脚本代码生成的模板引擎,例如Apache Velocity或Freemarker(请参见下面的示例),我可以在Delphi应用程序中使用?(不是在IDE中 - 我不是在寻找基于OTA的解决方案,或者Delphi代码模板)
模板引擎会将Delphi对象绑定到模板上,并替换脚本变量,根据对象中的值执行迭代/条件。模板可以嵌套(调用其他模板)。
典型用例是动态生成HTML代码,但也适用于Delphi代码生成器。
Velocity示例:
<HTML>
<BODY>
Hello $customer.Name!
<table>
#foreach( $mud in $mudsOnSpecial )
#if ( $customer.hasPurchased($mud) )
<tr>
<td>
$flogger.getPromo( $mud )
</td>
</tr>
#end
#end
</table>
Freemarker示例:
<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。