Đố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 Generation và Smarty.
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. –