【问题标题】:It it possible to read a page request parameter from portlet?是否可以从 portlet 中读取页面请求参数?
【发布时间】:2010-01-13 09:03:58
【问题描述】:

portlet 可以读取其周围页面的请求参数吗?

例如portlet 所在页面的 URL 是 http://example.com/mypage?foo=bar 是否可以从该页面上的 portlet 中读取“foo”参数?

Portlet 容器是 Liferay 5.2.5。

【问题讨论】:

    标签: java portlet liferay


    【解决方案1】:

    是的,这可以通过这样的方式来实现 -

    HttpServletRequest convertReq = PortalUtil.getHttpServletRequest(request);
    HttpServletRequest originalReq = PortalUtil.getOriginalServletRequest(convertReq);
    String productId = originalReq.getParameter("foo");
    

    request 是 RenderRequest。

    【讨论】:

    • 补充一点:获取RenderRequest的方式:RenderRequest request = (RenderRequest) FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("javax.portlet.request");
    【解决方案2】:

    PortletRequest 类有方法getAttribute()

    您可以将其视为HttpServletRequest

    【讨论】:

      【解决方案3】:

      除了使用平台特定类com.liferay.portal.util.PortalUtil之外,我还没有找到其他方法。

      【讨论】:

        猜你喜欢
        • 2021-12-29
        • 1970-01-01
        • 2021-01-12
        • 2011-01-10
        • 1970-01-01
        • 2021-05-03
        • 2012-11-22
        • 2010-09-21
        • 1970-01-01
        相关资源
        最近更新 更多