【问题标题】:Liferay Embedded portlet does not call render functionLiferay Embedded portlet 不调用渲染函数
【发布时间】:2019-06-08 14:52:57
【问题描述】:

我到处寻找这个错误,我没有发现其他问题

目前我正在使用 Liferay 7.0,并将我的 portlet 嵌入到 Web 内容模板中,如下所示:

 <div class ="container-fluid">
        <div class ="row">
            <div class ="col-md-6 col-sm-6">

         <#assign VOID = freeMarkerPortletPreferences.setValue("portletSetupPortletDecoratorId", "barebone") />
       <@liferay_portlet["runtime"]
             defaultPreferences="${freeMarkerPortletPreferences}"
             portletProviderAction=portletProviderAction.VIEW
             portletName="foo" />
             ${freeMarkerPortletPreferences.reset()}
            </div>
        </div>
    </div>

Portlet 在 freemarker 模板之外工作正常,但是在其中调用 actionRequest 按钮但它从不进入渲染功能,所以我设置的按钮什么都不做。

对于将 portlet 放入 freemarker 模板中是否有任何特殊要求?我是不是忘了什么?

【问题讨论】:

    标签: liferay freemarker liferay-7 liferay-dxp


    【解决方案1】:

    您似乎是embedding by portletName,所以它可以是:

    Instanceable,然后你需要提供它的实例ID,如:

     instanceId="INSTANCE_ID"
    

    如果没有,设置com.liferay.portlet.instanceable=false

    如果您的 portlet 是可实例化的,则必须提供实例 ID;否则,您可以删除此行。要将 portlet 设置为不可实例化,请将 portlet 组件注释中的属性 com.liferay.portlet.instanceable 设置为 false

    【讨论】:

    • 它不可实例化。但在某些调试时间也尝试使用 instance 和 instanceId
    • portlet 显示它只是不调用渲染方法。也不渲染请求函数。操作请求运行良好
    • 如果一个portlet 出现,它就会被渲染。如果您无法在该 portlet 的渲染方法中遇到任何断点或日志消息,请确保部署的代码符合您的预期。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2019-02-20
    • 2019-10-24
    • 2019-01-29
    相关资源
    最近更新 更多