我创建了一个新页面Aikau,但我更改了XML文件,标准Share页眉和页脚之间的渲染页面内容消失了。
在这个页面中,我想要查询字符串的参数,所以我写了这段代码:
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-page
放在XML文件中以在此页面中写入FTL文件的内容...但为什么Alfresco模板的页眉和页脚消失了? hdp
就是为了这个目的。如果我不在XML上放置这样的URL,则会显示带有模板的页面。
我的代码有什么问题?或者我该如何恢复模板?或者添加页眉和页脚?
编辑:我已经尝试只使用/ my-new-page而不使用/ hdp / ws /但是当我放入/ hdp / ws /时args为null。给我一个提示。EDIT2:我已经尝试导入alfresco-template.ftl,但我不能。有什么想法吗?
答案 0 :(得分:3)
您实际上不需要在WebScript描述符中包含“hdp / ws”部分。只需要“/ my-new-page”。 Aikau试图通过提供开箱即用的多个页面来简化Surf页面的创建(而“hdp”页面只是其中之一)。
Aikau使用URI模板映射将单个WebScript与页面匹配,例如在URL中:
/股/页/ HDP / WS /我的新页
share =应用程序上下文 page = 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 Component并将其绑定到WebScript。
但简而言之 - 请勿在Aikau页面的WebScript URL中包含“hdp / ws”。
答案 1 :(得分:1)
你需要在这个javascript强制性的javascript服务器上制作你拥有的东西吗?如果没有,您可以创建一个接收相同参数的javascript客户端(location.search
为您提供查询字符串,因此,您可以解析该查询字符串并仅获取&#34; test&#的值34;你想要的)并在FTL文件(客户端javascript)上调用它们。所以,当页面加载时,它不会丢失参数。它不是最好的解决方案,但你可以尝试这个......