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 指令碼,請按照下列步驟操作:

  1. 將這三個檔案上載到 Data Dictionary / Web Scripts Extensions
  2. 通過轉到 http:// localhost:8080 / alfresco / s / index 並單擊“重新整理 Web 指令碼”來重新整理 Web 指令碼。
  3. 通過訪問 http:// localhost:8080 / alfresco / s / example / helloworld 導航到 Web 指令碼?name = Jeff