1

我想在 portlet 环境下从 URL 获取参数。我用来打开 portlet 的 URL 是http://localhost:10039/wps/myportal/myPortlet?recId=100

当门户打开URL变化,看起来像*的http://本地主机:!?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

好吧,这并不容易。

您必须生成特定的网址。WebSphere Portal 高级 URL 生成以及如何创建到 portlet 的链接并传递参数。

于 2011-11-18T19:28:31.010 回答
0

我之前有过这种情况,有人建议我使用Portlet实用程序,你可以在“com.ibm.ws.portletcontainer.portlet”包中找到这个类,有很多构造函数(RenderRequest,ActionRequest,PortletRequest,... ),这是你可以找到你需要的方法(PortletUtils.getHttpServletRequest(YOUR NEEDED OBJECT))。

于 2013-07-10T10:20:09.840 回答