2016-12-23 10 views
0

Я хотел бы получить содержимое страницы как поток/или строку непосредственно из Page.class.[Apache Tapestry]: содержимое страницы как поток/или строка

На данный момент: я должен пройти маршрут:

String uri = linkSource.createPageRenderLink(AnotherPage.class).toAbsoluteURI(); 
IOUtils.toString(uri, "UTF-8") 

Проблема с этим подходом является призыв к toAbsoluteURI() делает рамки чувствовать себя, как запрос был сделан из внешнего источника; и он просит пользователя снова войти в систему; который не должен быть так, поскольку его одна страница гобелена, доступ к другой в пределах того же приложения.

Примечание: я не пытаюсь «перенаправить» на AnotherPage.class. Я просто хотел бы получить содержимое другой страницы как String без необходимости проходить через toAbsoluteURI() и т. Д.

В качестве альтернативы можно получить содержимое другой страницы, поскольку Stream тоже работает.

Я использую Apache Tapestry 5.4.1

ответ

0

Есть метод onActivate возвращают реализацию StreamResponse, например

public StreamResponse onActivate(Long productId) { 
    return new TextStreamResponse("text/csv", convertProductToCsv(productId)); 
} 

По умолчанию страница возвращает шаблон, но таким образом вы переопределяете это поведение.

Проверьте эту страницу: https://wiki.apache.org/tapestry/Tapestry5HowToStreamAnExistingBinaryFile.

 Смежные вопросы

  • Нет связанных вопросов^_^