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