`
xijunhu
  • 浏览: 152642 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

liferay-wsrp-portlet

阅读更多

在liferay的控制面板上的wsrp是liferay的一个portlet,可以在进入插件安装页面进行安装,安装完后,在tomcat的webapps目录下会出现一个wsrp-portlet文件夹(即liferay安装的portlet)

wsrp的主要功能是在一个远程服务器上生成生产者,在本地生成消费者,即在本地调用远程服务器上的portlet.

一、结合代码分析生产者的制造过程:

1、先连接到生产者显示页面(edit_producer.jsp)此页面显示所有的生产者的列表

2、添加制造商,还是在edit_producer.jsp页面,填写产品名称、左边显示当前的portlet(可以从右边添加)

 

String[] portletIds = StringUtil.split(BeanParamUtil.getString(wsrpProducer, request, "portletIds"));

Portlet portlet = PortletLocalServiceUtil.getPortletById(company.getCompanyId(), portletId);

 

右边显示所有的portlet(这些portlet必须要可卸载,还要可以被远程调用即portlet.isRemoteable()为true)

 

Iterator<Portlet> itr = PortletLocalServiceUtil.getPortlets(company.getCompanyId(), false, false).iterator();

 

然后通过liferay-ui:input-move-boxes标签在页面上显示。

 

3、保存,提交制造商执行

WSRPProducerLocalServiceUtil.updateWSRPProducer( com.liferay.wsrp.model.WSRPProducer wsrpProducer);

保存成功后,回到显示页面,这时再点击制造商标题,进入编辑页面,这时可以看到,名称下面多了个url,这个url就是需要调用此远程portlet的消费者需要记住的地址。

 

二、分析消费者的制造过程

1、进入消费者显示页面

显示、添加名称(修改的或添加的)

<liferay-ui:input-field model="<%= WSRPConsumer.class %>" bean="<%= wsrpConsumer %>" field="name" />

 

显示、添加url

<c:choose>
   <c:when test="<%= wsrpConsumer == null %>">
    <liferay-ui:input-field model="<%= WSRPConsumer.class %>" bean="<%= wsrpConsumer %>" field="url" />
   </c:when>
   <c:otherwise>
    <a href="<%= wsrpConsumer.getUrl() %>" target="_blank"><%= wsrpConsumer.getUrl() %></a>

    <input name="<portlet:namespace />url" type="hidden" value="<%= wsrpConsumer.getUrl() %>" />
   </c:otherwise>
  </c:choose>

 

2、保存消费者

WSRPConsumerLocalServiceUtil.updateWSRPConsumer(
  com.liferay.wsrp.model.WSRPConsumer wsrpConsumer)

3、保存后,可以修改消费者的名称,可以管理消费者的portlets(删除一些portlets,因为一个消费者可以包含一个或多个portlets)

4、可以删除消费者

 

对于wsrp-portlets里面的类的功能作用,下次总结。

 

 

分享到:
评论
1 楼 1927105 2014-01-08  
有没有做过本地的portlet和远程的portlet进行通信的例子?就是wsrp之间如何进行通信

相关推荐

Global site tag (gtag.js) - Google Analytics