Liferay 7 - MVC Portlet - 配置 - Portlet 在配置更新后消失

问题描述

我在 liferay 7 上有一个 portlet,有一个配置接口来为 porlet 提供配置能力

@Component(
        configurationPid = "ec.fin.mupi.view.config.SellConfiguration",immediate = true,property = {
                "com.liferay.portlet.display-category=category.mupi","com.liferay.portlet.instanceable=true","com.liferay.portlet.action-url-redirect=true","javax.portlet.display-name=Quiero vender propiedad Portlet","javax.portlet.init-param.template-path=/","javax.portlet.init-param.view-template=/sell.jsp","javax.portlet.name=" + SearchPortalInmobiliarioPortletKeys.WantSell,"javax.portlet.resource-bundle=content.Language","javax.portlet.security-role-ref=power-user,user"
        },service = Portlet.class
)
public class WantSellPortlet extends MVCPortlet {

配置界面:

import aQute.bnd.annotation.Metatype.Meta;

@Meta.OCD(id = "ec.fin.mupi.view.config.SellConfiguration",name = "Configuracion portlet para quiero vender propiedad")
public interface SellConfiguration {


    @Meta.AD(
            deflt = "",required = false
    )
    String[] comunalArray();

    @Meta.AD(
            deflt = "",required = false
    )
    String[] basicoArray();


    @Meta.AD(
            deflt = "",required = false
    )
    String[] tipoBienArray();

    @Meta.AD(
            deflt = "",required = false
    )
    String[] caracteristicaBienArray();


    @Meta.AD(
            deflt = "",required = false
    )
    String[] propietarioArray();


    @Meta.AD(
            deflt = "",required = false
    )
    String[] componenteArray();


}

portlet 工作正常,配置出现在 liferay 上的 System settings -> other ->

错误发生在配置更新时,之后 portlet 从站点中消失。 查看它出现的日志

2021-01-06 19:42:44.500 错误 [认任务-91][LiferayPortlet:478] 由于配置了根路径,因此禁用 Portlet Wantell 的路径 可以访问所有门户路径 2021-01-06 19:42:44.503 ERROR [default task-91][MVCPortlet:589] null 不是有效的包含

我尝试调试 liferay 代码,它在更新后以某种方式出现,portlet 的属性消失了,上面的错误显示在日志中。

挖掘后发现它们不知何故是portlet的一个对象,有参数,另一个没有,并且总是显示导致错误的没有参数的portlet。

在 mvcportlet.java --> 这行返回 null

viewTemplate = _getinitParameter("view-template");

之后 viewtemplate 为空,portlet 消失。

感谢任何帮助,我正在处理这两天。我不知道为什么该站点使用带有空参数的 portlet

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)