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