它有可能从portlet读取页面请求参数?

它有可能从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。

+0

要添加一些内容:获取RenderRequest的方法:RenderRequest请求=(RenderRequest)FacesContext.getCurrentInstance()。getExternalContext()。getRequestMap()。get(“javax.portlet.request”); – frandevel 2011-10-30 21:22:02

PortletRequest类有方法getAttribute()

你可以把它当作HttpServletRequest

+0

这不起作用。 – 2012-07-19 04:04:59

我还没有找到一种方法,除了使用平台特定类com.liferay.portal.util.PortalUtil