2010-10-06 28 views
5

Đối với các ứng dụng web, sẽ hữu ích nếu các thuộc tính và phương thức của đối tượng Delphi có thể được "kết nối" với mã HTML.Có công cụ tạo mẫu như Velocity hoặc Freemarker cho Delphi không?

này có thể được sử dụng trong nhiều cách khác nhau, cả trong quá trình phản ứng HTML xây dựng giai đoạn và giai đoạn xử lý yêu cầu:

  • truy cập một giá trị tài sản đối tượng server-side để đầu ra nó trong HTML code
  • ràng buộc một thuộc tính phía máy chủ đối với trường nhập biểu mẫu HTML, để ứng dụng web gửi biểu mẫu HTML với giá trị hiện tại của nó và đặt thuộc tính thành giá trị đã nhập khi khách hàng gửi biểu mẫu
  • liên kết nút biểu mẫu HTML phương thức đối tượng phía máy chủ, sẽ được thực hiện khi ứng dụng khách gửi biểu mẫu

Tôi chưa tìm thấy thư viện gốc Delphi, điều này sẽ làm cho việc thêm đối tượng HTML vào đối tượng Delphi dễ dàng hơn.

Câu hỏi của tôi:

Có một mẫu động cơ cho việc tạo mã kịch bản như Apache Velocity hoặc Freemarker (xem ví dụ dưới đây) mà tôi có thể sử dụng trong các ứng dụng Delphi? (không phải trong IDE - Tôi không tìm kiếm một giải pháp dựa trên OTA hoặc các mẫu mã Delphi)

Công cụ mẫu sẽ liên kết các đối tượng Delphi với một khuôn mẫu và thay thế các biến kịch bản và thực thi các điều kiện/lặp dựa trên các giá trị trong Các vật thể. Các mẫu có thể được lồng nhau (gọi các mẫu khác).

Trường hợp sử dụng điển hình sẽ là tạo mã HTML động, nhưng cũng hoạt động với các trình tạo mã Delphi.

Velocity dụ:

<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 dụ:

<html> 
<head> 
    <title>Welcome!</title> 
</head> 
<body> 
    <h1>Welcome ${user}!</h1> 
    <p>Our latest product: 
    <a href="${latestProduct.url}">${latestProduct.name}</a>! 
</body> 
</html> 

Engines Template khác mà cũng tương tự như những gì tôi đang tìm kiếm là Visual Studio's T4 Code GenerationSmarty.

+1

Bạn có thể xem [hệ thống mẫu không có logic nhỏ hơn của chúng tôi] (https://forums.embarcadero.com/thread.jspa?messageID=650500), có sẵn với [Thư viện nguồn mở] khác của chúng tôi (http: //blog.synopse.info/post/2014/04/28/Mustache-Logic-less-templates-for-Delphi-part-1) (một phần của [mORMot] (http://mormot.net), nhưng có thể được sử dụng mà không có nó). [Mustache] (http://mustache.github.io) là một công cụ tạo mẫu tuyệt vời. –

Trả lời

1

Delphi on Rails, được lưu trữ tại mã google, có thể có thứ gì đó mà bạn có thể sử dụng. http://code.google.com/p/delphionrails/wiki/Getting_Started

+0

Cảm ơn bạn đã liên kết! Lua là một công cụ tạo kịch bản, tôi sẽ sử dụng nó như thế nào để tạo và chạy một cái gì đó giống như các mẫu HTML mẫu trong câu hỏi của tôi? – mjn

+0

Tôi đã không sử dụng nó, nhưng các ví dụ cho thấy những gì tôi nghĩ bạn ở đâu sau đó. Tất cả các mã đều có sẵn từ mã goole, vì vậy bạn nên tải xuống và bắt đầu đào để xem liệu có thể sử dụng lại một số mã hoặc tìm hiểu điều gì đó để đưa ra giải pháp của riêng bạn hay không. – Vegar

Các vấn đề liên quan