0

weblogic サーバー 10 にデプロイされたポートレットを開発しています。他の機能の中で、私のポートレットは URL で渡されるいくつかのパラメーターを取得し、それぞれに従って何かを行う必要があります。さて、私の問題は、クエリ文字列を取得する正しい方法がわからないことです。インターネットでさまざまなアプローチを見つけましたが、どれも weblogic では機能しないようです。サーバー名、コンテキストパスなどを取得できますが、クエリ文字列は取得できません..

誰もこれに対する解決策を知っていますか? または、少なくとも手がかりを教えてください。それらを JSP から取得した場合、それらを .java クラスに渡すことはできますか?

敬具、 エイドリアン・ザハリア

4

2 に答える 2

0

私は自分のニーズに合ったより良い解決策を見つけました。次のように httprequest を取得できました。

HttpServletRequest httpRequest = (HttpServletRequest) request.getAttribute("javax.servlet.request");

次に、referer というヘッダーから URL 全体を取得します。

String referer = httpRequest.getHeader("referer");

私は共有すべきだと思いました。ありがとう !

于 2012-11-02T14:16:51.517 に答える
0

ポートレット テクノロジは、ActionURL と RenderURL という 2 つの主要なタイプの URL を提供します。

ActionURL は、ターゲット ポートレットで processAction (アクション フェーズ メソッド) をトリガーしますが、RenderURL は、ターゲット ポートレットの doView (レンダリング フェーズ メソッド) に要求を転送します。

また、レンダリング段階でポートレットの状態が変化しないようにするのが最善であることに注意してください。

通常、ポートレットにパラメーターを渡す jsp は...

        PortletURL url = renderResponse.createActionURL();
        url.setParameter("paramName", "paramVal");

        <a href="<%=url.toString()%>">Click Me</a>

processAction または Action フェーズでパラメータを取得するポートレットは、次のようになります...

        public void processAction(ActionRequest request, ActionResponse response)
        throws PortletException, PortletSecurityException, IOException {
               ....
               String paramVal = (String)request.getParameter("paramName");
               ....
        }
于 2012-10-08T13:17:49.523 に答える