2009-11-25 78 views
0

ICEFaces + Liferay:我創建了兩個war文件firstApp.war和secondApp.war文件並部署在liferay上。 我想實現,當我點擊firstApp.war應用程序的頁面上的提交按鈕時,firstAppBacking bean應該在public-render-parameter中設置一些值,以便我可以在secondApp.war應用程序中獲取該值,如IPC。請sugeest我如何設置firstAppText valiue。ICEFaces + Liferay:如何設置公共渲染參數的值

<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> 

回答

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描述。我還沒有嘗試過所有這些,因此我現在不能提供更多細節。