1. JUnit 最佳實踐指南 原文: https://howtodoinjava.com/best-practices/unit-testing-best-practices-junit-reference-guide/ 我假設您瞭解 JUnit 的基礎知識。 如果您沒有基礎知識,請首先閱讀(已針 ...
mORMot 1.18 第8章 Delphi中的伺服器端JavaScript
在mORMot框架中,對JavaScript腳本的支持被稱為Monkey On Rails(版權歸Pavel Mashlyakovsky所有,郵箱:[email protected]),它藉助了Mozilla基金會的SpiderMonkey類。
mORMot允許程式員編寫功能強大的應用程式,但如果客戶希望自定義應用程式,又該如何呢?通過集成JavaScript(具有即時編譯特性的ECMAScript5),業務邏輯或特定於客戶的細節(如報告)便可以在JavaScript中進行自定義。
為了使用這些功能,您將需要最新的庫文件,請參考mORMot的文檔以獲取最新二進位文件的下載鏈接。
以下是一個用於生成報告的JavaScript函數示例:
function showProcessOutput(StudentID) {
var student = JSGetStudentByID(StudentID);
var document = 'javascript.dpr';
var s = loadFile(document);
var result = "<h1>" + student.Name + "</h1>";
result += 'ID is ' + student.StudentID;
result += "<pre>" + s + "</pre>";
return result;
}
在Delphi的mORMot程式中,我們可以調用這個JavaScript函數 showProcessOutput()
,而它又會調用Delphi程式中的兩個函數:JSGetStudentByID()
和 loadFile()
。
JSGetStudentByID()
函數會從mORMot的典型函數 GetStudentByID()
中獲取 TSQLStudents
記錄的JSON表示。
我們可以通過訪問URL http://localhost:888/ROOT/234234
來調用這個JavaScript函數,並傳入特定的學生ID。
該函數會返回類似下麵的輸出:
Joe Smith
ID is 234234
以下是一個簡單的Delphi程式示例,該程式會在 http://localhost:888/root
上提供服務:
program JSHttpApiServer;
// ... 程式代碼 ...
完整的JavaScript示例代碼包含在此書的可下載源代碼中,位於JavaScript文件夾內。
請註意,如果您向JavaScript暴露了過多的函數,用戶可能會創造出驚人的成果,但也可能破壞您的系統安全性。因此,請務必確保對JavaScript執行環境進行適當的隔離和限制(即沙箱處理)。