Вопрос

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

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

Это было полезно?

Решение

Как я понимаю, вы хотите решить, какую 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 вы хотите получить диспетчер запросов.

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top