Как перенаправить веб-скрипт Alfresco на другую страницу ответа - PullRequest
0 голосов
/ 05 ноября 2018

Я определил веб-скрипт Alfresco Repo, реализованный на Java, который копирует структуру папок шаблонов в хранилище документов сайта.

HTML-шаблон Freemarker для этого веб-скрипта тривиален

<html>
    <body>
        <p>Your request was successful</p>
    </body>
</html>

Но я не хочу, чтобы это отображалось пользователю. Я хочу, чтобы страница ответов была хранилищем документов сайта.

Итак, в моем Java-коде я добавил эту строку

@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);
}

Чего мне не хватает, чтобы заставить работать редирект?

1 Ответ

0 голосов
/ 06 ноября 2018

Продвижение комментария к ответу - вам также нужно установить код перенаправления статуса. Это рассматривается в , что довольно сложно найти документ Alfresco по Java WebScripts и обработке ошибок

Вы должны добавить что-то вроде:

  status.setCode(Status.STATUS_MOVED_PERMANENTLY);

См. Также Объект состояния javadocs и DeclarativeWebScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...