我们在 WebSphere Portal 8.5 中的项目有一些portlet(JSR 286)。
Portlet A 例如包含描述某些商品的页面,以及用于编辑此说明的工具。 Portlet B 包含用于创建这些商品订单的工具(这是一个非常简化的,但它应该足以理解这个问题)。
我们需要创建从一个portlet到另一个portlet的链接,并在一个方向上传递一些参数,反之亦然。我们怎么做到这一点? 查看简单的代码示例以便更好地理解
非常有用谢谢
答案 0 :(得分:0)
您最基本的方法是使用公共渲染参数 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>
然后你可以得到它 String customerID = renderRequest.getParameter(“custID”);
如果您需要更复杂的东西,可以将项目放入会话中的应用程序范围并以这种方式共享它们,并且当页面再次呈现时都可以访问它
或者您可以使用url generation apis,但这将是我推荐的最后一件事