3

私は Websphere ポータル 6.0 を使用していますが、doView メソッドからレンダリングするページをサーバーに伝える方法があるかどうか疑問に思っています。processAction メソッドから実行できることはわかっていますが、残念ながら問題のセマンティクスでは許可されていません。

ご協力ありがとうございました

4

2 に答える 2

3

私が理解しているように、ユーザーに表示する 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 を毎回決定できます。

于 2009-05-30T09:25:53.590 に答える
3

doView() でリダイレクトを送信できるとは思えません。その理由は 2 つあります。

  • パフォーマンスやその他のさまざまな理由により、ポータルの HTTP 応答のヘッダーが生成されて送信された後にポータルが doView() を呼び出す場合があります。このため、リダイレクトを発行するには遅すぎます。
  • それができるのはかなり「悪」かもしれません。ポートレットの doView() は、ユーザーがそのポートレットを操作しなくても、いつでもポータルから呼び出すことができます。したがって、ポートレットは、ランダムなページの更新後、または別のポートレットとの対話後にリダイレクトを実行できます。

一般に、ポートレットが doView でリダイレクトを行う必要がある場合は、再設計が必要になる可能性があります。おそらく、問題をより詳細に説明してみてください。

于 2009-03-18T12:35:16.630 に答える