【问题标题】:How to get portal preferences setting from table on Liferay如何从 Liferay 上的表中获取门户偏好设置
【发布时间】:2017-12-16 12:51:20
【问题描述】:

我是 Liferay 用户,我需要在我的 Liferay 门户中获取一些属性,例如门户偏好表中的 dl.file.max.size,users.image.max.size...。使用 key 设置的所有内容都添加到 portal-ext.properties。

以及如何更新回更改的值?

我尝试了一些代码

PortalPreferences portalPreferences = PortletPreferencesFactoryUtil.getPortalPreferences(request);

long usersImageMaxSize = GetterUtil.getLong(portalPreferences.getValue(PropsKeys.USERS_IMAGE_MAX_SIZE,"0"),0);

但一无所获。

请帮忙!

提前感谢。

(Liferay 门户 6.2)

【问题讨论】:

    标签: java liferay liferay-6


    【解决方案1】:

    我找到了结果。这里的代码示例:

            PortletPreferences portletPreferences = PrefsPropsUtil.getPreferences();
    
            String value= portletPreferences.getValue(PropsKeys.DL_FILE_MAX_SIZE, "0");
    
            System.out.println(value);
    
    
            portletPreferences.setValue(PropsKeys.DL_FILE_MAX_SIZE,"123456789") 
            portletPreferences.store();
    
            value = portletPreferences.getValue(PropsKeys.DL_FILE_MAX_SIZE, "0");
    
            System.out.println(value);
    

    感谢丹尼尔的帮助。

    【讨论】:

      【解决方案2】:

      您使用了错误的代码。 PortletPreferencesFactoryUtil 不是正确的 util 类(它用于 portlet 首选项)。

      您必须使用以下代码:

      long usersImageMaxSize = GetterUtil.getLong(PropsUtil.get(PropsKeys.USERS_IMAGE_MAX_SIZE));
      

      【讨论】:

      • 谢谢,但该代码只是获得默认值,不能在控制面板中更改值。
      • 是的,如果您希望控制面板覆盖并保存到数据库中的值,请使用PrefsPropsUtil.get
      • 那么哪个api用来更新、覆盖控制面板的值?
      • 你能写一个例子吗?我没有看到 PrefsPropsUtil 已设置和更新
      猜你喜欢
      • 1970-01-01
      • 2011-03-17
      • 2012-08-12
      • 2012-04-02
      • 2011-01-20
      • 1970-01-01
      • 2013-01-22
      • 2016-07-15
      • 1970-01-01
      相关资源
      最近更新 更多