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