在一个Portlet中链接到另一个Portlet

liferay详细讲解 liferay项目完全讲解 这是本人工作了2年有关liferay中的所有技术详细日记 很珍贵 立即下载
在一个Portlet中链接到另一个Portlet
这个问题,应该是大部分网站开发人员都希望能解决的问题。典型应用情况:两栏布局,左边是一些链接,右边有一个内容呈现框。当用户点击左边的链接的时候,希望在右边的内容框中显示内容。
在Portal中,一般我们都会把左右做成不同的Portlet。而Portal似乎没有提供直接的方法,能够链接到其他Portlet,通常都是在当前Portlet进行显示。
6.1 Portal的URL格式分析
在一个Portal页面中,Url的格式如何,它是如何将参数传给某一个Portlet的。了解了这些,对解决这个问题应该有所帮助。
这是一个BBS的Url的例子。
http://localhost:8080/c/portal/layout?p_l_id=PRI.15.2&p_p_id=19&p_p_action=0&p_p_state=maximized&p_p_mode=view&p_p_col_id=column-2&p_p_col_pos=0&p_p_col_count=1&_19_struts_action=%2Fmessage_boards%2Fview&_19_categoryId=1
从这个URL分析来看,主要有以下几个参数
p_p_id=19 这个主要是描述当前是在操作哪个Portlet
_19_struts_action=%2Fmessage_boards%2Fview
_19_categoryId=1 这两个是需要传递给Portlet的参数。
如果我们能修改这几个参数,比如,将19换成其他Portlet,应该就可以实现链接到另一个Portlet。
一种做法,是将renderResponse. createRenderURL().toString()进行替换,将其中的portletName换成目标Portlet的portletName。方法应该是可行的,但有点麻烦。尝试找找有没有更好的方法。
6.2 源代码分析
还是从源代码入手,看看Liferay自己是如何处理的。
renderResponse的实现类是com.liferay.portlet.RenderResponseImpl。
 public PortletURL createRenderURL() {
  return createRenderURL(_portletName);
 }
 public PortletURL createRenderURL(String portletName) { 
…
  return portletURL;
 }
有希望,我们直接调用createRenderURL(String portletName),将Portlet的名字作为参数传入,应该就可以实现这个目的了。
但是RenderResponse接口并没有createRenderURL(String portletName)这个方法,只能做一下强制转换
PortletURL rowUrl =((com.liferay.portlet.RenderResponseImpl)renderResponse).
createRenderURL(portletName);
rowUrl.setParameter("categoryId", String.valueOf(19));
编写了一点测试代码,对此进行了测试。呵呵,搞定。
6.3 几个实现细节
Portlet有两种类型,是否可实例化。前述的例子,是不可实例化的Portlet,因此只需要使用其Portlet名字19即可。那对于可以实例化的Portlet呢?经过测试发现,需要把其实例化后的名字作为参数传入。
比如一个可实例化的Portlet的名字是56_INSTANCE_95uY。表示其Portlet的名字为56,实例化之后的名字是56_INSTANCE_95uY。把这个名字作为参数传入,即可达到目的。
另一个问题,我们如何将portletName传递给Portlet,让它根据这个参数生成URL?一种做法就是编写Portlet的PortletPreference,在里面保存这个参数名。这样,在不同的页面,我们都可以很方便的实现我们需要的功能。 
【scp】Windows 下scp报错 bad permissions Windows 下使用 SSH 连接报 Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 错误问题解决 C:\Users\Administrator>scp -P 66666 D:\1111.pdf zzd@58.213.45.xx:/home/zzd/ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING:... 阅读详情

相关推荐

计算机网络实验(华为eNSP模拟器)——第十章 Eth-Trunk(链路聚合)

目录一、Eth-Trunk的定义二、Eth-Trunk的工作模式(一)LACP模式1、定义2、命令(二)手工负载分担模式1、定义2、命令三、结语 一、Eth-Trunk的定义 Eth-Trunk是指设备的链路聚合,即将该设备的多个接口捆绑成一个接口,从而达到了增加带宽和提高可靠性的目的。我们要注意它是将多条物理链路,在逻辑上合并成一条,而不是串在一起。例我们将LSW1交换机S5700的三个端口(即GE0/0/1 、GE0/0/2、GE0/0/3)定义为一个Eth-Trunk接口与LSW2交换机相连,如下:

小宇y的博客 8417

Liferay 6.2 改造系列之十:修改系统登录相关配置

1、关闭自动登录功能: 在/portal-master/portal-impl/src/portal.properties文件中,有如下配置: # # Set this to true to allow users to select the "remember me" feature to # automatically login to the portal....

alex_0317的博客 180

SAP-MM-PR分配货源并转PO

SAP-MM-PR分配货源并转PO

yanzibing99的博客 5474

什么是Portlet ?

什么是Portlet ?作者:Sunil Patil译者:observer版权声明:任何获得Matrix授权的网站,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明作者:Sunil Patil;observer原文地址:http://www.onjava.com/pub/a/onjava/2005/10/19/challenging-java-dominance.html中文地址:htt

javachannel的专栏 2335

Linux Component概述和高通component的使用

为了让subsystem按照一定顺序初始化设备才提出来的。subsystem中由很多设备模块,内核加载这些模块的时间不确定。子系统内有些模块是需要依赖其它模块先初始化才能进行自己初始化工作(例如v4l2 subdev和v4l2 video device),这时就要用到component框架。例如v4l2 subdev和v4l2 video device中,谁依赖谁先创建?

lz_1990的专栏 1610

Python实战:用pdfplumber从PDF中精准提取表格数据(附完整代码)

本文详细介绍了如何使用Python库pdfplumber从PDF中精准提取表格数据,包括环境配置、标准与复杂表格处理策略、数据清洗与验证等实战技巧。通过完整代码示例,帮助数据分析师和财务专业人士实现PDF数据提取的自动化,提升工作效率。

weixin_29061821的博客 400

[Portal参考手册]Portlet概念

1. Portlet概念 Portlet 是可以提供对基于 Web 的内容、应用程序和其它资源访问的可重用组件。可通过 portlet 访问 Web 页面、web 服务、应用程序和成为企业组合的内容供给。公司可以创建他们自己的 portlet 或从第三方 portlet 目录中选择 portlet。portlet 是打算被组装成更大的门户网站页面,其中同一 portlet 的多个实例为...

243

手把手教你用ESP32-S3打造智能聊天机器人-立创实战派

本文将详细介绍如何利用立创ESP32-S3开发板,烧录小智AI程序,快速实现一个功能强大的聊天机器人。

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 9919

portlet 概念

portlet 是可再用的 Web 模块,它们在门户网站服务器上运行,并提供对基于 Web 的内容、应用程序和其他资源的访问。公司可以创建它们自己的 portlet 或从第三方 portlet 编目中选择 portlet。portlet 用于组装成更大的门户网站页面,其中同一 portlet 的多个实例为每个用户显示不同的数据。从用户的角度来看,portlet 是门户网站站点中提供特定服务

小白的一生 1411

智能办公助手——OpenClaw办公自动化集成(2026办公版)

OpenClaw智能办公助手是一款集成任务管理、文档处理等功能的办公自动化系统。该系统采用Python实现,核心功能包括:1)任务管理系统,支持任务增删改查、状态跟踪和统计报表生成;2)文档智能助手,提供文档处理能力。任务管理模块具备优先级设置、状态变更、时间记录等功能,并能生成包含完成率等指标的任务报告。该系统旨在通过自动化办公流程提升工作效率,减少重复性工作。开发者可利用这些模块构建完整的智能办公解决方案。

一键难忘的博客 349

数学建模学习(75):全局敏感性分析Morris 方法

敏感性分析 (SA) 是分析不同应用条件下模型行为的基本实践。提出了许多 SA 技术,从简单的筛选方法到计算成本高昂的基于方差的方法。本篇内容我们通过将 Morris 方法来对模型进行分析。

全栈川川 1万+

Portlet

Portlet是基于java的web组件,由portlet容器管理,并由容器处理请求,生产动态内容。Portal使用portlet作为可插拔用户接口组件,提供信息系统的表示层。作为利用servlets进行web应用编程的下一步,portlets实现了web应用的模块化和用户中心化。portlet规范,即jsr(Java Standardization Request )168,是为了实现portal和portlet的互操作。它定义了portlet和portlet容器之间的合约,让portlet实现个性化、表

四火专栏 2593

ARM功耗管理软件之DVFS&AVS

思考:功耗管理软件栈及示例?WFI&WFE?时钟&电源树?DVFS&AVS?

AI-安全-功耗 1232

portlet

1. Portlet Preferences : This article introduces what is portlet, which actually is a web conponent that can be reused, and portlet preference. A portlet preference is a named piece of string data. Fo

Newweapon's Trace 1067

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Hello World,一个简单的JSR 168 portlet

本文以Hello World为例,介绍如何使用JSR 168 API编写portlet,打包成portlet应用,部署portlet应用到portlet容器上。最后给出JSR 168的参考实现-Apache pluto的安装配置。在过去三年中,企业面临着信息、流程的整合问题,"企业门户"和"企业应用集成"一时间成了IT业内热门的课题。国内外IT厂商和开源组织顺时而动,开发了各种企业门户服务器。

首席技术执行官CTO(Chief Technology Officer)|技术总监--邓斌博客 1743

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java Portlet 规范概述

首先,解释几个基本的术语。 1)Portal Portal 是一种 web 应用,通常具有个性化、单点登录、来自不同源的内容聚合(aggregation)并提供信息系统表现层等特点。所谓聚合,是指将不同来源的内容整合到一个 web 页面的操作。一个 Portal 应用可通过复杂的个性化配置为用户提供定制的内容,而 Portal 页面也可含有不同的 portlet 为不同的用户生...

angie 1831

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Portlet概述

  什么是Portlet ? 作者:Sunil Patil  译者:observer版权声明:任何获得Matrix授权的网站,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明作者:Sunil Patil;observer原文地址:http://www.onjava.com/pub/a/onjava/2005/10/19/challenging-java-dom

土豆的专栏 563

在基于WebSphere JSF 1.2 Portlet Bridge的JSF Portlet中实现文件下载

本文讨论在基于WebSphere JSF 1.2 Portlet Bridge的JSF Portlet中实现文件下载。 JSR 286规范提供了一个基于resource serving的文件下载机制,但由于JSF 1.2 Portlet Bridge并没有提供相应的支持,所以必须在混合使用portlet和JSF来实现这个机制。 具体的实现包含三部分: 一个继承FacesPortlet并

客家女婿的专栏 1833

Portlet API参考实现的秘密

概要 在Stefan Hepper和Stephan Hesmer的portlet系列文章的第二部分中,作者把着笔点从Portlet API的基础概要介绍转移到了Portlet API的参考实现(RI reference implementation也就是Pluto)的细节描述。作者还提供了一系列portlet的实例来说明怎样扩展Portlet API的标准函数。企业portal提供商使用可

Steven_zhao的专栏 1842

portlet_Spring Portlet MVC框架简介

本文是由三部分组成的文章系列的第一篇文章,“开发供在IBM WebSphere Portal中使用的Spring Portlet MVC Framework应用程序”。 这是一篇高级文章; 尽管不需要任何高级知识,但您应该熟悉开发JSR-168 Portlet的基础知识,并且对Spring框架有基本的了解。 在过去的几年中, Spring框架在J2EE开发人员中越来越受欢迎。 它提供了基础...

cuxiong8996的博客 1688

portlet的友好链接

portlet的友好链接最简单的使用方法    PortalUtil.getCurrentURL(renderRequest); 根据取得到当前页面的URL,找到对应的方法。

370

Java Portlet Tools:将 Java Web 应用转换为适应性 Portlet

摘要  本文介绍如何将在门户外运行的 Web 应用转换为在 AquaLogic User Interaction 内使用的适应性 portlet。本文概述使用 Java Server Faces 或 Struts 等 Web 应用框架时遇到的问题和一种解决这些问题的新工具 — Java Portlet Toolkit。本文还将探讨 Java Portlet Toolkit 附带的一些其它工具,

网络 人生 学习 进步 2340

Java Portlet

本文作者:Stefan Hepper 是位于德国的 IBM  Boeblingen 实验室 WebSphere Portal 组的一名软件架构师。它负责 Java 标准并且是 JSR 168 的两位规范领导者之一。他在国际会议上做过演说,出版过论文,申请过专利并且是 Pervasing Computing(Addison-Wesley 2001)一书的合著者。  “Port

珲太狼 2249

动态显示Portlet Title

在开发Portlet时,Portlet的Title值通常是静态存储在portlet.xml文件中的,例如: 系统链接 然后在显示时被容器调用 如果需要动态改变Portlet的Title,可在继承GenericPortlet类的doView方法里设置Title的值,通过调用RenderResponse.setTitle(String

Seven's Rainbow Paradise 1460

Liferay7开发文档_3.2.3生成PORTLET URL

生成PORTLET URL 回想一下,用户可以在一个页面上放置多个portlet。作为一名开发人员,您不知道会与哪些其他portlet共享一个页面。这意味着不能像习惯的那样为应用程序中的各种功能定义URL。 例如,考虑一个用户与博客应用程序放在同一页面上的日历应用程序。要实现删除相应应用...

chongchou1789的博客 228
上一篇: Liferay Portal中开发主题风格theme
下一篇: 在jsp环境中配置使用FCKEditor
sumongh_pan
博客等级 码龄20年 9粉丝 53原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值