liferay 存储用户设置参数数据portletPreferences的用法

java | 2019-09-13 10:02:39

liferay portlet开发时可以存储系统设置参数也可以存储用户输入的一些个性化参数。其实就是用到PortletPreferences这个类把参数以字符串或xml的形式存到数据库中。

// 参数存储
PortletPreferences portletPreferences = null;
//查询是否参数已经存在
long portletPreferencesCount = PortletPreferencesLocalServiceUtil
        .getPortletPreferencesCount(user.getUserId(), ownerType, themeDisplay
                .getPortletDisplay().getId(), false);
if (portletPreferencesCount > 0) {
  // plid 0 不区分页面,只区分用户和portlet
  portletPreferences = PortletPreferencesLocalServiceUtil.getPortletPreferences(
          user.getUserId(), ownerType, 0, themeDisplay.getPortletDisplay().getId());
} else {
  // plid 0 不区分页面,只区分用户和portlet 参数先默认为空,创建系统参数
  portletPreferences = PortletPreferencesLocalServiceUtil.updatePreferences(
          user.getUserId(), ownerType, 0, themeDisplay.getPortletDisplay().getId(), "我就是要设置的参数可以是json或xml等字符串");
}
//更新portlet系统参数,创建和添加其实调用同一各方法
portletPreferences = PortletPreferencesLocalServiceUtil.updatePreferences(
          user.getUserId(), ownerType, 0, themeDisplay.getPortletDisplay().getId(), "我就是要设置的参数可以是json或xml等字符串");


登录后即可回复 登录 | 注册
    
关注编程学问公众号