1

ポートレット環境でURLからパラメータを取得したい。ポートレットを開くために使用している URL はhttp://localhost:10039/wps/myportal/myPortlet?recId=100 です

When the portlet opens the URL changes and looks like *http://localhost:10039/wps/myportal/myPortlet/!ut/p/b1/dY7LcoIwAAC_hQ9wElQSckwJ8lLEgjxyYbDTBAQMgkXHr7ft9Nq97cweFnBQmEhfGUtMdJADfqnmRla3Rl2q7sc5Kt_I0d1RxCCOyAZ6EQl8a29CSA3gAy47dfpOU1aoB1NUMsrEerIUz7lu0vma1pY9hNTZRbXZx8jYP8-SBSv_OibxLD66fnwvknYom9xPMzkK9awT_3Ru6i8Wt5SLA7GDTXtPt5OdGYMkd2wnDorD6UHKm8SqrwpRCb6YD5oGMsB_ly2Humu8hdA0TB161D1iFLMlpKu_AP4DhSB0Vf8Jeu4Qb0G1F8FgaxU!/dl4/d5/L2dBISEvZ0FBIS9nQSEh/?recId=100*

実際には、 recID=100パラメータを取得したいのです。パラメータを取得するために使用しているコードを以下に示します

PortletRequest portletRequest = (PortletRequest) webAppAccess.getHttpServletRequest().getAttribute( Constants.PORTLET_REQUEST);
HttpServletRequest httpRequest = PortletUtils.getInternalRequest(portletRequest).getHttpServletRequest();                   
httpRequest.getParameter("recId");

しかし、それはnullを返します

特定の状況でパラメータを取得するにはどうすればよいですか?

注 : WebSphere Portal Server 7 を使用しています。

4

2 に答える 2

2

まあ、それほど簡単ではありません。

特定の URL を生成する必要があります。WebSphere Portal Advanced Url Generationおよびポートレットへのリンクを作成してパラメーターを渡す方法。

于 2011-11-18T19:28:31.010 に答える
0

以前にこのシナリオがあり、誰かがポートレット ユーティリティを使用するように提案してくれました。このクラスは「com.ibm.ws.portletcontainer.portlet」パッケージにあります。多くのコンストラクター (RenderRequest、ActionRequest、PortletRequest など) があります。 )、これはあなたのニーズを見つけることができるメソッド(PortletUtils.getHttpServletRequest(YOUR NEEDED OBJECT))です。

于 2013-07-10T10:20:09.840 に答える