我已经定义了一个用 Java 实现的 Alfresco Repo Webscript,它将模板文件夹结构复制到站点的文档存储库中。这个网页脚本的 Freemarker HTML 模板很简单<html> <body> <p>Your request was successful</p> </body></html>但我实际上并不希望将其显示给用户。我希望响应页面成为站点的文档存储库。所以在我的 Java webscript 代码中,我添加了这一行@Overrideprotected 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);}我缺少什么才能使重定向工作?
1 回答
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
将评论提升到答案 - 您还需要设置状态重定向代码。这在这个有点难找到的关于 Java WebScripts 和错误处理的 Alfresco 文档中有所涉及
您应该添加如下内容:
status.setCode(Status.STATUS_MOVED_PERMANENTLY);
另请参阅状态对象 javadocs和DeclarativeWebScript
添加回答
举报
0/150
提交
取消