Перенаправление из метода doView в портлет - PullRequest
3 голосов
/ 13 марта 2009

Я использую Websphere portal 6.0, и мне интересно, есть ли способ сообщить серверу, какую страницу отображать с помощью метода doView. Я знаю, что могу сделать это из метода processAction, но, к сожалению, семантика проблемы не позволяет этого сделать.

Спасибо за вашу помощь

Ответы [ 2 ]

3 голосов
/ 30 мая 2009

Как я понимаю, вы хотите решить, какую JSP / HTML-страницу вы собираетесь показывать пользователю.

В этом случае это то, что вам нужно сделать.

public void doView(RenderRequest req, RenderResponse res) throws IOException,
PortletException {

    PortletRequestDispatcher prd =
        getPortletContext().getRequestDispatcher("/WEB-INF/jsp/view.jsp");
    prd.include(req, res);
}

Вы можете каждый раз решать, для какой jsp вы хотите получить диспетчер запросов.

3 голосов
/ 18 марта 2009

Я сомневаюсь, что можно отправить редирект в doView (). Для этого есть две причины:

  • Для повышения производительности и по другим причинам портал может вызывать doView () после того, как заголовки HTTP-ответа портала были сгенерированы и отправлены - таким образом, слишком поздно для перенаправления.
  • Это может быть довольно "злым", если это можно сделать - doView () портлета может быть вызван порталом в любое время, без взаимодействия пользователя с этим портлетом. Таким образом, портлет может выполнять перенаправление после случайного обновления страницы или взаимодействия с другим портлетом.

В общем, я бы сказал, что если портлет должен выполнять перенаправление в doView, то это может потребовать редизайна. Возможно, попробуйте описать вашу проблему более подробно.

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