它有可能从portlet读取页面请求参数?
问题描述:
portlet可以读取其周围页面的请求参数吗?它有可能从portlet读取页面请求参数?
E.g. Portlet所在页面的URL是http://example.com/mypage?foo=bar 是否可以从该页面上的portlet读取“foo”参数?
Portlet容器是Liferay 5.2.5。
答
是的,这可以用的东西来实现这样的 -
HttpServletRequest convertReq = PortalUtil.getHttpServletRequest(request);
HttpServletRequest originalReq = PortalUtil.getOriginalServletRequest(convertReq);
String productId = originalReq.getParameter("foo");
如果请求的RenderRequest。
答
PortletRequest
类有方法getAttribute()
你可以把它当作HttpServletRequest
。
+0
这不起作用。 – 2012-07-19 04:04:59
答
我还没有找到一种方法,除了使用平台特定类com.liferay.portal.util.PortalUtil
。
要添加一些内容:获取RenderRequest的方法:RenderRequest请求=(RenderRequest)FacesContext.getCurrentInstance()。getExternalContext()。getRequestMap()。get(“javax.portlet.request”); – frandevel 2011-10-30 21:22:02