0

ICEFaces + Liferay:我创建了两个war文件firstApp.war和secondApp.war文件并部署在liferay上。我想实现,当我单击 firstApp.war 应用程序页面上的提交按钮时,firstAppBacking bean 应该在 public-render-parameter 中设置一些值,以便我可以在 secondApp.war 应用程序中获得该值,例如 IPC。请告诉我如何在 firstAppText 中设置值。

<portlet-app ....>
<portlet>
    <portlet-name>firstApp</portlet-name>
    <display-name>First App</display-name>
    <portlet-class>com.icesoft.faces.webapp.http.portlet.MainPortlet</portlet-class>
    <init-param>
        <name>com.icesoft.faces.VIEW</name>
        <value>/jsp/firstApp.iface</value>
    </init-param>
    ....
    **<supported-public-render-parameter>firstAppText</supported-public-render-parameter>**
</portlet>
<public-render-parameter>
    <identifier>firstAppText</identifier>
    <qname xmlns:x="http://www.liferay.com/public-render-parameters">x:firstAppText</qname>
</public-render-parameter>

4

1 回答 1

1

有几种方法可以做到这一点。首先,这里很好地描述了基本概念。

如您所见,您可以在不同的“上下文”中共享数据。一种方法是通过在 portlet.xml 中声明 shared-portlet-session-attribute 来通过会话共享数据,例如

<shared-portlet-session-attribute> 
   <name>someName</name>
   <java-class>com.some.class</java-class>
<shared-portlet-session-attribute>

其他共享数据的方法是: - PortletSession - PortletContext - 页面参数 - Portlet 事件

本书描述了不同的方法。我还没有尝试过所有这些,因此我现在不能提供更多细节。

于 2009-11-26T08:19:28.520 回答