[Portal参考手册]Portlet概念

Liferay7开发系列(四)Portlet Liferay门户中的Web应用程序称为portlet。与许多Web应用程序一样,portlet处理请求并生成响应。在响应中,portlet返回内容(例如HTML、XHTML)以在浏览器中显示。portlet和其他Web应用程序之间的一个关键区别是portlet运行在Web页面的一部分中。 在编写portlet应用程序时,您只需关注该应用程序:页面的其余部分(导航、顶部横幅和界面的任何其他全局... 阅读详情
[Portal参考手册]Portlet概念

<!--[if !supportLists]-->1. <!--[endif]-->Portlet概念

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

从用户的角度来看,portlet 是门户网站站点中提供特定服务或信息(例如,提供日历和新闻)的窗口。从开发者的角度来看,portlet 是可插入的模块,它们被设计成在 Portal Server 的 portlet 容器中运行。

portlet 容器提供了一个运行时环境,在这个环境中实例化、使用和最终破坏 portlet。portlet 依靠门户网站基础结构来访问用户概要文件信息、参与在窗口和操作事件中、与其它 portlet 通信、访问远程内容、查找凭证以及存储持久数据。Portlet API 提供了这些功能的标准接口。portlet 容器不是一个类似于 servlet 容器的独立容器。它是以 servlet 容器上的瘦层的方式实现的,并重用 servlet 容器提供的功能。

 

下面是典型的事件流程,当用户访问portal页面的时候:

 

<!--[if !supportLists]-->²        <!--[endif]-->客户端在验证后向portal发http请求。

<!--[if !supportLists]-->²        <!--[endif]-->portal接收请求。

<!--[if !supportLists]-->²        <!--[endif]-->portal判断是否有包含请求,并请求包含的动作指向的portlet是和这个portal页面相关联的。

<!--[if !supportLists]-->²        <!--[endif]-->如果含有动作的目标portlet,portal发请求给portlet容器去执行相应的portlet的动作。

<!--[if !supportLists]-->²        <!--[endif]-->portal通过portlet容器调用portlets,去获得内容片断,这个片断可以包含在portal页面中。

<!--[if !supportLists]-->²        <!--[endif]-->portal集合portlets的输出内容到1个portal页面中,并把页面返回客户端。

Portlet产生标记片断。Portal通常给portlet产生的标记片断加了标题,控制按钮和其他的装饰,这个新的片断叫portlet窗口。然后portal整合portlet窗口到完整的文件,portal页面。

   <!--[if !vml]--><!--[endif]-->

Portlets 运行在portlet容器内。Portlet容器接收portlets产生的内容。典型的,portlet容器把portlet内容传到portal。Portal server根据portlet产生的内容创建portal页面,并传送给客户端,由客户端显示。

<!--[if !vml]--><!--[endif]-->

 

       客户使用客户终端访问portal。在收到请求后,portal判断满足请求的portlets列表。Portal通过portlet容器,调用portlets。Portal用portlet产生的片断创建portal页面,同时把页面返回给用户。

<!--[if !vml]--><!--[endif]-->

用户可以根据需要通过增删Portlet的方式配置他们的页面。在Windows或者XWindows窗口程序中,窗口有最大化和最小化的窗口状态,portlet也有窗口状态。窗口状态是portal页面空间数量的指示器,它被赋值给portlet产生的内容中。当调用portlet,容器提供当前窗口状态给portlet。Portlet使用窗口状态决定多少信息需要render。Portlets能在处理action请求时,编程的改变他们的窗口状态。Portlet规范定义了3种窗口状态,normal,maximized和minimized。

Normal窗口状态

 

Normal窗口状态表示portlet要和其他的portlet共享页面。它也表示目标设备限制了显示能力。因此,portlet限制输出的尺寸。

 

MAXIMIZED窗口状态

 

Maximized窗口状态表示portlet是portal页面唯一的portlet,或portlet相比与其他的portlet有更多的空间。当窗口状态是Maximized时,portlet产生更多的内容。

 

Minimized窗口状态

 

当portlet是minimized状态,它将是最小限度的输出,或不输出。

 

 

Portlet模式指出porlet的功能。一般来说,portlet执行不同任务,依靠当前执行的任务的创建不同内容。Portlet模式告诉portlet他们执行什么任务,生产什么内容。当调用portlet,容器提供当前portlet模式给portlet。Portlets在处理action请求时能编程的改变他们的portlet模式。

 

Portlet有四种模式:view,edit, help和config。

可用的模式根据用户的角色受到限制。例如,匿名用户只能使用view和help模式,而验证用户可以使用edit模式。

举例来说,一个用户可以定制的股票信息Portlet,View模式允许用户查看股票列表,Help模式提供给用户帮助手册,Edit模式允许用户定制自己关注的股票列表,而Config模式允许管理员改变股票服务的一些配置。

VIEW 模式

 

View模式期待的功能是产生标记反映当前的状态给portlet。例如,view模式的portlet包含1个或多个框,用户可以操作或交互,或组成不需要任何用户交互的的静态内容。

Portlet开发者需要通过覆盖doView方法实现view portlet模式的功能。

 

EDIT 模式

 

通过edit模式,portlet提供内容和logic让用户用户化portlet的行为。Edit模式包含一个或多个框,用户可以定位并输入他们的用户化数据。

 

典型的,edit模式,将设置或修改portlet的参数。Portlet开发者需要通过覆盖doEdit方法实现edit portlet模式的功能。

 

HELP 模式

 

当在help模式,portlet提供portlet的help信息。这个help信息将会是简单的框,用连贯的正文或上下文敏感的帮助阐明了整个portlet。Portlet开发者需要通过覆盖doHelp方法实现help portlet模式的功能

 

CONFIG 模式

 

当在config模式,管理员可以进行相应的操作。Portlet开发者需要通过覆盖doConfig方法实现view portlet模式的功能。

 

因为Portlet继承于Servlet,所以portlet可以打包成war文件发布到Portal容器中。管理员可以发布或者卸载portlet。在一个Portlet Web 应用中,一个portlet描述文件用来描述portlet的属性和初始化信息。一个Portlet定义包含一个application portlet和多个concrete portlet。一个Application Portlet在portlet容器中仅存在一个实例。一个concrete Portlet实例一个使用额外的数据实例化的portlet。

 

servlet规范2.3定义如下:

“servlet是基于web组件的,由容器管理的,产生动态内容的java技术。类似其他的java组件,servlets是平台独立的java类,它被编译为中间字节码,能被动态加载和运行在java激活的web server。容器,有时称为servlet引擎,是web server的扩展,它提供servlet功能。Servlets通过由容器执行的请求/返回模式和客户端交互。”

 

Portlets 和servlets有很多相似性:

 

 Portlets也是基于web组件的java技术

 Portlets由专门的容器管理。

 Portlets产生动态内容。

 Portlets生命周期由容器管理。

 Portlets请求/返回模式和客户端交互。

 

Portlets 和servlets不同的地方:

 

Portlets只产生标记片断,而不是完整的文档。Portal把这些整合到portal页面中去。

Portlets不是直接和url绑定。

web客户端通过portal系统和portlets作用。

Portlets有更精确的请求处理,action请求,render请求。

Portlets有预先定义的portlet模式和窗口状态,这些指出portlet的功能,和portal页面中实时状态的数量。

Portlets在1个portal页面中能存在好几次。

 

Portlets有servlets不包含的功能:

 

Portlets有访问和储存持久化参数和用户化数据的方法。

Portlets能访问用户profile信息。

Portlets有url改写的功能去产生新的链接,这使得portal server可以在不知道的情况下,在页面片断中创建链接和动作。

Portlets能保存瞬时信息在不同范围的portlet session中:应用程序宽度的范围,和portlet私有的范围。

      

portlet没有而servlet有的功能:

 

设置返回字符的编码

设置返回的http头

向portal请求的客户端 URL。

 

Spirit框架提供类内建的基于角色(Role)的的访问控制支持。Spirit使用portlet Web Application作为组。用户可能属于一个或者多个组(也就是说,用户可以访问一个或者多个Web Application)。

    Core Portlet API 提供了详细的编程接口。Portlet Service了÷框架提供了一个清晰的接口,用来产生可重用的服务。

    一个portlet的集成关系如下:

javax.servlet.http.HttpServlet
 
|__com.kuaff.spirit.portlet.Portlet

|__com.kuaff.spirit.portlet.PortletAdapter
|__
com.kuaff.spirit.portlet.AbstractPortlet
    |__
com.samples.MyPortlet



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=666257

 
告别二极管发热!手把手教你用MOS管搭建同步整流电路(附死区时间设置避坑指南) 本文详细介绍了如何利用MOS管搭建同步整流电路(SR),以替代传统二极管,显著降低导通损耗和发热问题。内容涵盖自驱动方案的选择、关键元件参数计算、PCB布局要点及死区时间设置技巧,帮助工程师优化电源设计效率。 阅读详情

相关推荐

麒麟 ARMv10 SP3 安装 Oracle 19c 官方文档 或 教程

在麒麟ARMv10 SP3系统上安装Oracle 19c需要特别注意架构兼容性。

qq_43032338的博客 2938

什么是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

【DIY】使用STM32及PID算法实现一个磁悬浮玩具

今天教大家来做一个磁悬浮玩具。

小白白学电子 1万+

portlet 概念

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

小白的一生 1411

量子城域网建设设备系列(三):网络管理系统(NMS)

本文对量子网络中的网络管理系统进行了初步的介绍。

量子领域相关话题 2012

【智能体】零代码实战:Coze多智能体协作开发全流程解析

本文详细解析了Coze平台的多智能体协作开发全流程,从入门指南到实战技巧,帮助用户零代码构建高效AI团队。通过模块化设计和专业分工,多智能体系统能显著提升任务处理速度和准确率,适用于客服、内容创作、教育培训等多个场景。文章还提供了性能优化和常见问题解决方案,助力开发者快速掌握Multi-Agent技术。

weixin_29239279的博客 334

Portlet

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

四火专栏 2593

仿真系列专栏介绍

大家好!欢迎来到我的仿真学习系列专栏!这是一个我在学习仿真技术过程中整理和分享的系列文章。作为一名正在不断学习和实践的工程师,我希望通过这个专栏,和大家一起探索仿真技术,尤其是在高速信号完整性方面的应用。

案例文章,高速信号 367

[Portal参考手册]2.Portlet概念

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

北冥有鱼 其名为鲲 化而为鸟 其名为鹏 1495

手把手教你学simulink(13.2)--构建一个单相并网逆变器Simulink仿真模型

基于Simulink的单相并网逆变器项目的详细仿真实例。这个项目将重点放在逆变器的详细建模、最大功率点跟踪(MPPT)控制策略、并网控制和仿真分析上。我们将使用MATLAB/Simulink来构建整个系统,并通过具体的代码和模块来实现各个功能。

MHD0815的博客 545

华为流程L1-L6业务流程深度细化到可执行【附全文阅读】

该文档主要介绍了华为业务流程的深度细化及相关内容,包括流程框架、建模方法、流程模块描述、流程图建模等,旨在帮助企业构建有效的流程体系,实现战略目标。

cdfunlove的博客 4003

[Portal参考手册]Portlet核心API

Portlet 类 Portlet 类是一个Portlet 的代码表示,它从PortletAdapter 继承而来。 Portlet instance (portlet实例) Portlet类实例是一个Portlet 类的实例,由PortletConfig 中提供的一系列参数参数化的结果,每一个Portlet类实例中都包括一个PortletConfi...

173

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

[Portal参考手册]目录

在这个系列中,我将介绍给大家Portal相关的知识,结合JSR168标准,参照jetspeed、gridsphere、IBM Portal产品,详细阐述Portal、Portlet的概念、portlet容器的原理,希望能给你一个比较深入portal相关的概念。通过阅读这个系列的文档,你能深入了解portlet容器的原理,对于portlet的实现,能有直观清晰的了解,能够快速开发portlet产品。

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

[Portal参考手册]1.目录

在这个系列中,我将介绍给大家Portal相关的知识,结合JSR168标准,参照jetspeed、gridsphere、IBM Portal产品, 详细阐述Portal、Portlet的概念、portlet容器的原理,希望能给你一个比较深入portal相关的概念。通过阅读这个系列的文档,你能 深入了解portlet容器的原理,对于portlet的实现,能有直观清晰的了解,能够快速开发portlet产

北冥有鱼 其名为鲲 化而为鸟 其名为鹏 957

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

[Portal参考手册]Portlet布局框架

Portlet布局组件类似java中的awt/swing组件。原因有二: 1) 象awt/swing一样,提供了相近的增删组件的API 2) 基于Composite设计模式,用户可以自己开发组件。 Portlet布局组件: 一个portlet布局,在用户看来就是一个PortletPage。一个PortletPage包含多个portlet组件。通常portle...

245

[Portal参考手册]Portlet描述文件

Portlet描述文件通过portlet.xml文件定义application portlet和conrete portlet。这一节将介绍portlet.xml的定义。 Portlet描述文件有下面的结构: <?xml version="1.0" encoding="UTF-8"?> <portlet-app-collection> <p...

174

[Portal参考手册]Portlet服务框架

Poetlet服务封装了portlet中的可重用的商业和逻辑操作。Portlet服务有利于将逻辑操作最小化,便于重用。另一方面,portlet服务还有下面的好处: 内建的持久化框架有有利于将对象持久化到关系数据库中。 内建的访问控制权限有利于安全控制 集成测试框架 Spirit服务接口借用了websphere的接口。下面时服务的UML图: PortletService...

196
上一篇: Rainbow Portal 架构
下一篇: NUnit2.0详细使用方法
SmartJavaer
博客等级 码龄21年 13粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值