3

我创建了一个新页面 Aikau,但是我更改了 XML 文件,并且标准共享页眉和页脚之间呈现的页面内容消失了。

在这个页面中,我想要查询字符串的参数,所以我写了这段代码:

page.get.desc.xml:

<webscript>
    <shortname>My New Page</shortname>
    <url>/hdp/ws/my-new-page</url>
    <authentication>user</authentication>
</webscript>

page.get.js:

function main ()
{
    // Get the args
    var fileProp = args["test"];

    model.temp = fileProp;
}

main();

page.get.html.ftl:

Test arg: ${temp}

我必须放入/hdp/ws/my-new-pageXML文件才能在这个页面中写入FTL文件的内容......但是为什么Alfresco模板的页眉和页脚消失了?hdp用于此目的。如果我不将这样的 URL 放在 XML 上,则页面将与模板一起出现。

我的代码有什么问题?或者我怎样才能恢复模板?或者添加页眉和页脚?

编辑:我已经尝试只放 /my-new-page 而不放 /hdp/ws/ 但是当我放 /hdp/ws/ 时 args 为空。给我一个提示。

EDIT2:我已经尝试导入 alfresco-template.ftl 但我不能。任何想法?

4

2 回答 2

3

您实际上不需要在 WebScript 描述符中包含“hdp/ws”部分。只需要“/my-new-page”。Aikau 试图通过提供许多开箱即用的页面来简化 Surf 页面的创建(“hdp”页面只是其中之一)。

Aikau 使用 URI 模板映射将单个 WebScript 与页面匹配,例如在 URL 中:

/share/page/hdp/ws/my-new-page

share = 应用程序上下文页面 = Spring MVC 请求调度程序

然后将 hdp/ws/my-new-page 映射到 URI 模板:

<uri-template id="share-page">/{pageid}/ws/{webscript}</uri-template>

其中“hdp”是要呈现的页面的 id,“my-new-page”是 WebScript URL。HDP 页面使用模板中的“webscript”令牌自动创建新的 Surf 组件并将其绑定到 WebScript。

但简而言之 - 不要在 Aikau 页面的 WebScript URL 中包含“hdp/ws”。

于 2016-03-07T14:15:43.843 回答
1

你需要在这个javascript中强制制作你在javascript服务器上的东西吗?如果没有,您可以创建一个接收相同参数的 javascript 客户端(location.search给您查询字符串,因此,您可以解析该查询字符串并仅获取您想要的“测试”的值)并调用它们FTL 文件(客户端 javascript)。因此,当页面加载时,它不会丢失参数。这不是最好的解决方案,但你可以试试这个......

于 2015-11-09T14:39:21.240 回答