第一步: 写好PortletSession A

1.1  这是PortletSession A 的jsp页面代码

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ page contentType="text/html; charset=utf-8" %>
<portlet:defineObjects />两个Portlet  用   Session 进行通讯 </br>这是PortSession A</br><portlet:actionURL name="sendParamaterAction" var="sendParamater"></portlet:actionURL><form action="<%=sendParamater %>" method="post">username :  <input type="text" name="username" /> </br><input type="submit" value="submit"></form>

对应的页面效果如下:

1.2  PortletSession A 的java代码

package com.test;import java.io.IOException;import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletException;
import javax.portlet.PortletSession;
import javax.portlet.ProcessAction;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;import com.liferay.util.bridges.mvc.MVCPortlet;/*** Portlet implementation class PorletSession*/
public class PorletSession extends MVCPortlet {@ProcessAction(name="sendParamaterAction")public void sendParamate(ActionRequest actionRequest,ActionResponse actionResponse) throws IOException, PortletException{String username = actionRequest.getParameter("username");System.out.println("sendParamaterAction username = " + username);actionRequest.getPortletSession().setAttribute("username", username,PortletSession.APPLICATION_SCOPE);<pre name="code" class="html">PortletSession.APPLICATION_SCOPE
getPortletSession

} }
第二步 写好Portletsession B代码

2.1 是Portletsession B的jsp页面代码

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ page contentType="text/html; charset=utf-8" %>
<portlet:defineObjects />两个Portlet  用   Session 进行通讯 </br>这是PortSession B</br>从名称为 portletsession的Portlet 传入的username值:${username}

对应的页面效果如下:

2.2  PortletSession B的java代码

package com.test;import java.io.IOException;import javax.portlet.PortletException;
import javax.portlet.PortletSession;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;import com.liferay.util.bridges.mvc.MVCPortlet;/*** Portlet implementation class PorletSessionB*/
public class PorletSessionB extends MVCPortlet {@Overridepublic void doView(RenderRequest renderRequest,RenderResponse renderResponse) throws IOException, PortletException {String username =  (String )renderRequest.getPortletSession().getAttribute("username",PortletSession.APPLICATION_SCOPE);System.out.println("PorletSessionB doView username = " + username);renderRequest.setAttribute("username", username);super.doView(renderRequest, renderResponse);}
}

实现的效果如下:

在portletsession A的表单中输入sdfsdf提交后,Portlet session b可以显示出输入的值

Liferay 用PortletSession 实现不同Liferay之间通讯相关推荐

  1. Android--Otto事件总线 -- 组件之间通讯框架使用 --模式解析

    前言:Otto事件总线 -- 组件之间通讯框架 对于之前的情况activity之间或者fragment之间等跳转传值一般都是用bundle.intent等,从activityA --- activit ...

  2. bus.js非父子组件之间通讯

    bus.js非父子组件之间通讯 区别: bus.js就是一个公共的vue实例专门处理emit和on事件. vuex.js是做全局数据处理的,是指限定了对公共数据的使用处理方法,统一管控 vue中非父子 ...

  3. 如何在窗体之间通讯的几种方法 ? VB.NET方案

    在面向过程的程序中,我们可以通过窗体名来访问其他窗体中控件或者数据,但是在面向过程中却稍有不同,面向过程显示了它的优点. 假设一个Window解决方案中,有两个窗体Form1和Form2,Form1窗 ...

  4. ICE学习之C# Java之间通讯

    进alibaba以来一直听说我们有部分产品之间的通讯是采用ICE架构的,它是一种简洁的分布式网络中间件.但是由于项目紧张一直没有时间研究,这两天终于有时间研究一把(而且据老大说我们今年要对旺旺提供给内 ...

  5. ABB机器人VGT文件_ABB机器人与焊机之间通讯方式

    想知道多更多资料请关注东莞机器人之家公众号. 1.ABB机器人与焊机之间通讯方式 A. I/O+模拟量的通讯方式:最常用的机器人和焊机通讯方式之一,通过DI/DO控制起弧收弧,通过AO信号控制焊机的电 ...

  6. 关于通过webclient和JSON格式报文与服务器之间通讯的解决方法和遇到的难题

    关于通过webclient和JSON格式报文与服务器之间通讯的解决方法和遇到的难题 参考文章: (1)关于通过webclient和JSON格式报文与服务器之间通讯的解决方法和遇到的难题 (2)http ...

  7. winpcapp配置c++网口通讯_PLC通讯智能网关,不用编程,实现西门子与罗克韦尔(AB)、三菱等PLC之间通讯...

    智能网关IGT-DSER支持多点对多点的设置之间通讯,支持以太网,串口设备混合数据交换:无需编程开发,只须配置数据的起始地址和数量即可,支持热插拔,断电重启后自恢复运行,在实际的工程项目中应用方便. ...

  8. 分布式子系统之间通讯

    问题: java 分布式子系统之间通讯采用何种技术实现? 个人思考: 目前个人掌握大方向有四种: (1)基于RPC实现,例webservice .java平台的rmi等,据了解性能不是很好. (2)基 ...

  9. AB-PLC之间通讯

    AB-PLC之间通讯 AB-PLC之间进行通讯比较常用的方法有两种: 第一种:使用生产者/消费者,通过设置数据类型方式进行通信 第二种:使用MSG指令,进行通信 两种通讯方式有什么区别? 在生产者/消 ...

最新文章

  1. Linux下的进程概论与编程二(进程控制)
  2. java脏字过滤_脏字过滤
  3. @Test 运行 Method xxx should be void、Method xxx should have no parameters
  4. db2数据库还原找不到文件_db2数据库还原
  5. 泸州职称计算机,2018年11月四川泸州职称计算机考试10月8日开始报名
  6. SparkSQL入门
  7. 模块化之SeaJS(一)
  8. python与中文的那点事
  9. oracle 伪造ip连接,Oracle做ip连接限制
  10. 微信短信验证码注意事项(tp3.2-腾讯云)
  11. IDEA配置TeaVM插件
  12. 高级商务办公软件应用【12】
  13. uac2+android,iBasso UAC
  14. php设为首页代码,JavaScript
  15. brew 特别慢 解决方案
  16. C语言程序设计-用英文单词模拟数学计算系统
  17. opengl 着色器
  18. Linux- rsync企业级实战
  19. Log4j2写日志的艺术
  20. C++中fstream 的使用一

热门文章

  1. CodeBlocks报错原因分析:找不到编译器 / th_en_US.idx' not found! 提示
  2. 可视化运行Python的神器Jupyter Notebook
  3. java中CyclicBarrier的使用
  4. SpringBoot的@SpringBootApplication注解和其他几个注解
  5. Bigtable 论文翻译
  6. 【已解决】Exception in thread “main“ java.lang.NullPointerException
  7. 这代码她不美吗?——试题 基础练习 十六进制转八进制
  8. 云服务器转租赁协议,关于云服务器的租赁协议
  9. 数据库mysql建立索引_为mysql数据库建立索引
  10. 在U盘上运行Win8!使用 Windows To Go 制作便携的 Win8 U盘/移动硬盘教程 (视频)