Aikau example定义如下:
{
name: "alfresco/forms/controls/DojoSelect",
config: {
label: "List Type",
name: "prop_dl_dataListItemType",
value: "dl:event",
optionsConfig: {
publishTopic: "ALF_GET_FORM_CONTROL_OPTIONS",
publishPayload: {
url: url.context + "/proxy/alfresco/api/classes/dl_dataListItem/subclasses",
itemsAttribute: "",
labelAttribute: "title",
valueAttribute: "name"
}
}
}}
请注意url.context。我在示例源代码中没有找到任何url定义。似乎url是在某个地方隐式初始化的。但是具体在哪里呢?url对象还有哪些其他字段/方法?
发布于 2016-12-05 16:53:06
Aikau将在service.js文件上构建URL。例如,您可以查看CRUDService.js文件并引用getUrlFromPayload方法,此方法的名称如下:
onGetAll: function alfresco_services_CrudService__onGetAll(payload) {
var url = this.getUrlFromPayload(payload); .... }并且它将被传递给请求对象,以发出请求。
希望这能对你有所帮助。
发布于 2016-12-05 19:48:34
url对象在WebScripts的所有JavaScript控制器中都可用。它是为方便起见而提供的众多内置对象中的一个(其他对象包括"remote“和"user”)。url.context将被配置为正在运行的应用程序的上下文。因此,返回的值通常是"share“(因为这是默认的应用程序上下文)。
为在共享层(即/ Share /services/...)上定义的API定义URL时,通常需要应用程序上下文。或存储库层(即/share/proxy/alfresco/...)。
应该使用url.context,因为可以将应用程序配置为具有替代上下文根,因此最好将代码编写为Surf可以处理的内容。
Surf和WebScripts比Aikau存在的时间要长得多,不幸的是,它们缺乏良好的文档。
支持url对象Java类是"org.springframework.extensions.webscripts.DefaultURLHelper“(它扩展了"org.springframework.extensions.webscripts.URLHelper").其他可用属性包括:
https://stackoverflow.com/questions/40956994
复制相似问题