我們的項目在的WebSphere Portal 8.5有幾個門戶(JSR 286)。的WebSphere Portal 8.5通過Portlet之間的導航參數
的PortletA爲例包含一些商品的描述爲編輯這個描述頁面和工具。 而的Portlet乙包含了創造這些產品的訂單工具(這是一個非常簡單,但它應該是足夠的瞭解這個問題)。
我們需要創建從一個portlet鏈接到另一個與傳遞一些參數都在一個方向上,反之亦然。我們如何做到這一點? 這將是非常有用的,看看簡單的代碼示例,更好地瞭解
謝謝
我們的項目在的WebSphere Portal 8.5有幾個門戶(JSR 286)。的WebSphere Portal 8.5通過Portlet之間的導航參數
的PortletA爲例包含一些商品的描述爲編輯這個描述頁面和工具。 而的Portlet乙包含了創造這些產品的訂單工具(這是一個非常簡單,但它應該是足夠的瞭解這個問題)。
我們需要創建從一個portlet鏈接到另一個與傳遞一些參數都在一個方向上,反之亦然。我們如何做到這一點? 這將是非常有用的,看看簡單的代碼示例,更好地瞭解
謝謝
嗯,你的最基本的方法是使用公共呈現參數 https://www.ibm.com/support/knowledgecenter/en/SSYJ99_8.5.0/dev-portlet/pltcom_pubrndrprm.html
設置它在portlet.xml
<portlet>
...
<supported-public-render-parameter>custID</supported-public-render-parameter>
</portlet>
<public-render-parameter>
<identifier>custID</identifier>
<qname>x:customerID</qname>
</public-render-parameter>
,然後你可以得到它liket他 字符串的customerID = renderRequest.getParameter( 「客戶ID」);
如果你需要更復雜的東西,你可以把物品放入應用範圍的會議,並分享他們的方式,當頁面再次使雙方有機會獲得它
或者你可以使用URL生成API,但這將是我會推薦的最後一件事
是正確的,最基本的方法是公共呈現參數,但對於更復雜的場景,您應該使用JSR 286提供的portlet事件機制: - https:// www。 ibm.com/support/knowledgecenter/en/SSYJ99_8.5.0/dev-portlet/pltcom_events.html - http://www.oracle.com/technetwork/java/js r286-141866.html#Coordination_Between_Portlets – Carlos
@carlos我知道我忘了一個 – Crosstalk22