具有传递参数的portlet之间的WebSphere Portal 8.5导航

时间:2017-09-07 12:48:20

标签: parameter-passing websphere-portal jsr286

我们在 WebSphere Portal 8.5 中的项目有一些portlet(JSR 286)。

Portlet A 例如包含描述某些商品的页面,以及用于编辑此说明的工具。 Portlet B 包含用于创建这些商品订单的工具(这是一个非常简化的,但它应该足以理解这个问题)。

我们需要创建从一个portlet到另一个portlet的链接,并在一个方向上传递一些参数,反之亦然。我们怎么做到这一点? 查看简单的代码示例以便更好地理解

非常有用

谢谢

1 个答案:

答案 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,但这将是我推荐的最后一件事