ICEFaces + Liferay:我创建了两个war文件firstApp.war和secondApp.war文件,并部署在liferay上。 我想实现,当我在firstApp.war应用程序页面上单击“提交”按钮时,firstAppBacking bean应该在public-render-parameter中设置一些值,以便我可以在secondApp.war应用程序中获取类似IPC的值。请告诉我如何在firstAppText中设置valiue。
<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>
答案 0 :(得分:1)
有几种方法可以做到这一点。首先,基本概念得到了很好的描述here。
如您所见,您可以在不同的“上下文”中共享数据。一种方法是通过在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活动
this book中描述了不同的方式。我还没有尝试过所有这些,因此我现在无法提供更多细节。