【问题标题】:Liferay 7.2 render url of a portlet with instanceLiferay 7.2 渲染带有实例的 portlet 的 url
【发布时间】:2021-02-03 02:10:30
【问题描述】:

我有 Liferay 7.2。

用于自定义 portlet 视图的 Jsp 文件。

我正在尝试从自定义 portlet 生成一个 url,以链接 文档媒体 portlet (com_liferay_document_library_web_portlet_DLPortlet)。

我试试

<liferay-portlet:actionURL name="newMyNew"  portletName="com_liferay_document_library_web_portlet_DLPortlet" var="prueba2"></liferay-portlet:actionURL>

输出:

http://localhost:8080/web/guest/home?p_p_id=com_liferay_document_library_web_portlet_DLPortlet&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&_com_liferay_document_library_web_portlet_DLPortlet_javax.portlet.action=newMyNew&p_auth=1IDKtzvU 

但我需要 Document Media portlet (com_liferay_document_library_web_portlet_DLPortlet) 的实例 ID,因为我需要它接收诸如 folderId 之类的变量

我需要这个输出:

http://localhost:8080/web/guest/home/-/document_library/jFOlAlmeJgMl/view/34527?_com_liferay_document_library_web_portlet_DLPortlet_INSTANCE_jFOlAlmeJgMl_redirect=http%3A%2F%2Flocalhost%3A8080%2Fweb%2Fguest%2Fhome%3Fp_p_id%3Dcom_liferay_document_library_web_portlet_DLPortlet_INSTANCE_jFOlAlmeJgMl%26p_p_lifecycle%3D0%26p_p_state%3Dnormal%26p_p_mode%3Dview

我该怎么做?

【问题讨论】:

    标签: liferay portlet


    【解决方案1】:

    我找到了获取portlet实例id的解决方案

    List<Portlet> portletListDUE = layoutTypePortlet.getAllPortlets();  
    String portletInstanceId = "";
    for(Portlet portletIn : portletListDUE) {
        
                String portletNameOfInstance = portletIn.getPortletName();
                if(portletNameOfInstance.equals("com_liferay_document_library_web_portlet_DLPortlet")) 
                {
                    portletInstanceId = portletIn.getInstanceId();
                }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      • 1970-01-01
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-06
      相关资源
      最近更新 更多