引入:大家都知道我们可以用Session来存储属性,但是Liferay PortletSession有些特殊,它可以用不同的scope来存储不同的属性,我们的sample代码如下:我们这里就来研究PortletSession的细节,比如,它是如何做到吧属性存放在不同的scope上的。调试分析:对于第一种情况:session.getAttribute("foo",PortletSession.POR
原创
2013-09-16 16:08:07
2190阅读
点赞
3评论
PortletSession上存储的属性和HttpSession上存储的属性是可以相互访问的,两者完全对等。只是表现形式不同。对于APPLICATION_SCOPE上的属性,两者有相同的属性名,但是对于PORTLET_SCOPE上的属性,两者属性名不同,区别在于PortletSession上这个属性名必须加上前缀javax.portlet.p
这两者上的属性都被HttpSession
原创
2012-04-25 12:18:31
718阅读
PortletSession特别适用于同一个Portlet应用下的多个Portlet之间交互。
步骤1:把要交互的多个Portlet都定义在同一个portlet.xml中
<portlet-app...> <portlet> <portlet-name>recentBook</portlet-name>
原创
2012-04-29 21:56:45
660阅读
对于Portlet交互,Portlet框架提供了3种方法:
(1)使用PortletSession:适用于多个Portlet在同样一个Portlet应用中,或者虽然多个Portlet在不同的Portlet应用中,但是他们部署在相同的Portal服务器上,并且服务器本身支持共享session数据。
(2)使用Public Render Parameters:适用于多个不同的Portl
原创
2012-04-29 21:18:09
660阅读
Portlet事件也是JSR-286(Portlet 2.0新添加的一种Portlet之间交互的方式),比起Public Render参数的交互方式,它可以传递大对象而不只局限于字符串或者字符串数组,而且可以启用cache.比起PortletSession,它又支持跨Portlet应用的Portlet交互.
(我惊叹:果然事件驱动的思想深入人心并且无处不在啊,已经在无数地方看到了事件
原创
2012-04-29 23:06:21
876阅读