对于Delphi,是否有像Velocity或Freemarker这样的模板引擎?

mjn*_*mjn 5 html delphi template-engine web-applications freepascal

对于Web应用程序,如果Delphi对象属性和方法可以与HTML代码"连接",将会很有帮助.

在HTML响应构建阶段和请求处理阶段,可以以多种方式使用它:

  • 访问服务器端对象属性值以在HTML代码中输出它
  • 将服务器端对象属性绑定到HTML表单输入字段,以便Web应用程序使用其当前值发送表单HTML,并在客户端提交表单时将该属性设置为输入的值
  • 将HTML表单按钮绑定到服务器端对象方法,该方法将在客户端提交表单时执行

我还没有找到一个原生的Delphi库,这样可以更容易地将这样的HTML添加到Delphi对象绑定中.

我的问题:

是否有用于脚本代码生成的模板引擎,如Apache VelocityFreemarker(参见下面的示例),我可以在Delphi应用程序中使用它?(不在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>
Run Code Online (Sandbox Code Playgroud)

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>  
Run Code Online (Sandbox Code Playgroud)

其他类似于我正在寻找的模板引擎是Visual Studio的T4代码生成Smarty.

Veg*_*gar 1

Delphi on Rails,托管在 google code 上,可能有一些你可以使用的东西。 http://code.google.com/p/delphionrails/wiki/Getting_Started