我想从portlet环境下的URL获取参数。 我用来打开portlet的URL是 http:// localhost:10039 / wps / myportal / myPortlet?recId = 100
当portlet打开时,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。
答案 0 :(得分:2)
嗯,这并不容易。
您必须生成特定的网址。 WebSphere Portal Advanced Url Generation和How to create a link to a portlet and pass parameters.
答案 1 :(得分:0)
之前我有这个场景,有人建议我使用Portlet实用程序,你可以在“com.ibm.ws.portletcontainer.portlet”pakcage中找到这个类,有很多构造函数(RenderRequest,ActionRequest,PortletRequest, ...),这是你可以找到你需要的方法(PortletUtils.getHttpServletRequest(你需要的对象))。