在默认的情况下,一个portlet在一个页面上只能有一个,如果需要一个页面上有多个相同的portlet的话就需要对portlet进行实例化。实例化以后,Liferay会为每一个实例化的portlet分配一个 instance id用来区分相同功能的portlet。一个页面里的多个相同的portlet的instance id 不同,同样不同页面的相同的portlet的instance id也不相同。这样就可以开发功能相同,内容不同的实现。 
具体配置如下: 
添加instanceable属性配置;默认情况下instanceable为false,属性顺序参照liferay-portlet-app_4_4_0.dtd文件。 
liferay-portlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 4.4.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_4_4_0.dtd">  <liferay-portlet-app>  <portlet>  <portlet-name>LinkManager</portlet-name>  <icon>/img/icon.png</icon>  <struts-path>library</struts-path>  <restore-current-view>false</restore-current-view>  <instanceable>true</instanceable>  <css-class-wrapper>portlet-library</css-class-wrapper>  </portlet>  <role-mapper>  <role-name>user</role-name>  <role-link>User</role-link>  </role-mapper>
</liferay-portlet-app>  

每一个属性都是在com.liferay.portal.model.impl.PortletImpl中对应。

配置完成以后在代码中通过:

Java代码  
ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);  PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();  Portlet portlet = PortletLocalServiceUtil.getPortletById(themeDisplay.getCompanyId(), portletDisplay.getId());  String instanceId = portlet.getInstanceId();

获得instance id。默认情况下,没有实例化的portlet取出来的instance id 为null。

liferay 如何在页面实现添加多个portlet相关推荐

  1. framer x使用教程_如何使用Framer Motion将交互式动画和页面过渡添加到Next.js Web应用程序

    framer x使用教程 The web is vast and it's full of static websites and apps. But just because those apps ...

  2. 一种无需留坑为页面动态添加View方案

    在Activity或Fragment页面动态添加View,有其应用场景,比如配合运营在首页动态插入H5活动页(如下图手淘的雪花例示[1]),在页面头部插入通知View等.本文结合ActivityLif ...

  3. python使用fpdf2包和pdfrw包在已有的PDF页面上添加新的页

    python使用fpdf2包和pdfrw包在已有的PDF页面上添加新的页 目录 python使用fpdf2包和pdfrw包在已有的PDF页面上添加新的页 #包安装 #新内容添加到已有的PDF页面上 # ...

  4. html右键禁用和web页面中添加加入qq群的方式

    需求: html禁用右键,防止定位csspath和xpath,同时需要在web页面中加入添加加入qq群的图标 实现: html禁用右键:利用oncontextmenu <!doctype htm ...

  5. OAF在打开的新页面中添加按钮,功能是关闭当前页面

    OAF在打开的新页面中添加按钮,功能是关闭当前页面 javascript:close()

  6. 关于页面动态添加控件(转)

    最近看到很多问题都是关于页面动态添加控件,页面postback以后,就取不到这些控件了.其实每次在页面上动态添加控件(或者在数据控件上动态添加列),它们的状态是不会被添加到页面的ViewState中去 ...

  7. asp登录页面跳转到注册页面_Java 添加页面跳转按钮到PDF文档

    概述 当我们在查阅含有大量页面的PDF时,可通过在页面上添加跳转按钮来实现页面转换,以达到节约时间,提高效率的目的.本文将通过Java程序来演示如何给PDF文档添加页面跳转按钮.通常来说跳转可分为两种 ...

  8. Sharepoint页面里添加.net托管代码

    Sharepoint页面里添加.net托管代码 在做Sharepoint门户网站定制时候,可以利用VS集成开发工具编写自定义功能的WebPart或利用VS在可视化环境下开发UserControl然后利 ...

  9. html页面怎么添加打印,在网页中添加打印按钮或链接的方法

    在网页中添加打印按钮或链接的方法 发布时间:2020-05-27 17:38:35 来源:亿速云 阅读:347 作者:鸽子 打印按钮或链接是对网页的简单添加 CSS(层叠样式表)使你可以控制屏幕上的网 ...

最新文章

  1. mysql里条件语句和循环语句_MySQL与Oracle 差异比较之四条件循环语句
  2. Linux软件安装管理 - CentOS (二) ---- yum在线安装
  3. 面试题16: 数值的整数次方
  4. SAP移动类型103解析
  5. python基础教程:统计计数的4种常用的方法
  6. Java 运行时数据区域
  7. 亚特兰大峰会精彩看点:软件吞噬世界,OpenStack是变革核心
  8. C 语言,你真的懂递归了吗?
  9. matlab中Cci,【指标量化】超买超卖——CCI 顺势指标
  10. 帮助你免于失业的十大软件技术
  11. UML(Unified Modeling Language) 统一建模语言
  12. 微信小程序“淘淘猜成语”开发教程(该成语接龙已上线,功能齐全)
  13. Qt Designer的简单使用
  14. walking机器人仿真教程-激光导航-TEB算法导航
  15. 苹果开发者账号申请流程
  16. php get defined,php中get_defined_constants函数用法实例分析
  17. Android jPBC 2.0.0配置与测试
  18. 快速搭建一个小型博客网站
  19. 【自动驾驶】Frenet坐标系与Cartesian坐标系(二)
  20. 2021上海高考成绩几点查询,2021年上海高考分数公布时间几点,具体时间什么时候可以查询...

热门文章

  1. 汇编语言 计算ffff:0006单元中的数乘以3,结果存在dx中
  2. JDK14性能管理工具:jmap和jhat使用介绍
  3. java text 格式化_java.text.DecimalFormat类十进制格式化
  4. 如何解决微服务架构中的雪崩问题?
  5. Spring事务回滚和异常类
  6. kotlin学习之基础(一)
  7. Linux网络编程 之 TCP编程(七)
  8. (~最新合集~)计算机网络谢希仁第七版 第二章课后答案
  9. 算法竞赛入门经典(第二版) | 例题4-4 信息解码 (紫皮书牛啤!)(UVa213,Message Decoding)
  10. Python程序开发——第九章 异常处理