Hello World Web Script
讓我們製作一個 hello world web 指令碼。Web 指令碼具有描述符,控制器和可選的檢視。這些檔案必須遵循命名約定。
該描述符名為 helloworld.get.desc.xml。
<webscript>
<shortname>Hello World</shortname>
<description>Hello world web script</description>
<url>/example/helloworld?name={nameArgument}</url>
<authentication>user</authentication>
</webscript>
你可以看到描述符宣告此 Web 指令碼將對映到 URL“/ example / helloworld”,並且它需要使用者身份驗證。描述符還宣告瞭一個名為 name 的引數。
這是控制器。它名為 helloworld.get.js。
model.foo = "bar";
該控制器是用 JavaScript 編寫的,但控制器也可以用 Java 編寫。通過更多的工作,你也可以用其他語言編寫控制器。
這個控制器做的不多。它只是向模型新增一個名為 foo
的新變數,並賦予它 bar
的值。
你的控制器可以訪問各種根作用域變數,這些變數都記錄在官方文件中 。
最後,讓我們看看檢視。它名為 helloworld.get.html.ftl
<html>
<body>
<p>Hello, ${args.name!"name not specified"}!</p>
<p>Foo: ${foo}</p>
</body>
</html>
你可以從名稱中看到此檢視作為 Freemarker 模板實現並輸出 HTML。此檢視從模型中獲取 foo
的值,並且還獲取傳遞給 Web 指令碼的 name 引數。如果未指定 name 引數,則模板會提供一些預設文字。
如果你想生成 XML 或 JSON,你可以 - 只需更改名稱,然後相應地更新模板實現。
部署
Web 指令碼可以部署到類路徑或上載到儲存庫。例如,要通過上載到儲存庫來部署此 Web 指令碼,請按照下列步驟操作:
- 將這三個檔案上載到 Data Dictionary / Web Scripts Extensions
- 通過轉到 http:// localhost:8080 / alfresco / s / index 並單擊“重新整理 Web 指令碼”來重新整理 Web 指令碼。
- 通過訪問 http:// localhost:8080 / alfresco / s / example / helloworld 導航到 Web 指令碼?name = Jeff