如何将 Alfresco 网页脚本重定向到不同的响应页面

我已经定义了一个用 Java 实现的 Alfresco Repo Webscript,它将模板文件夹结构复制到站点的文档存储库中。


这个网页脚本的 Freemarker HTML 模板很简单


<html>

    <body>

        <p>Your request was successful</p>

    </body>

</html>

但我实际上并不希望将其显示给用户。我希望响应页面成为站点的文档存储库。


所以在我的 Java webscript 代码中,我添加了这一行


@Override

protected Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache) {

    ...     

    status.setLocation("http://localhost:8081/share/page/site/my-site/documentlibrary");

    ...

}

我希望将响应重定向到 url,但上面的页面仍在呈现。


查看代码DeclarativeWebScript(我的实现类继承自),我看到了这个


String location = status.getLocation();

if (location != null && location.length() > 0)

{

  if (logger.isDebugEnabled())

  logger.debug("Setting location to " + location);

  res.setHeader(WebScriptResponse.HEADER_LOCATION, location);

}

我缺少什么才能使重定向工作?


萧十郎
浏览 124回答 1
1回答

泛舟湖上清波郎朗

将评论提升到答案 - 您还需要设置状态重定向代码。这在这个有点难找到的关于 Java WebScripts 和错误处理的 Alfresco 文档中有所涉及您应该添加如下内容:&nbsp;&nbsp;status.setCode(Status.STATUS_MOVED_PERMANENTLY);另请参阅状态对象 javadocs和DeclarativeWebScript
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java