带参数的Portlet页面导航 - Spring MVC,WebSphere Portal,& JSR 286

时间:2010-03-04 20:50:39

标签: spring-mvc portal websphere-portal

这是一个场景: 我们有一个在Webphere Portal Server 6.1和Spring MVC上运行的应用程序。有一个页面包含一个portlet,显示一个充满记录的网格。单击其中一条记录后,它必须导航到位于不同页面上的另一个portlet - 可能甚至是同一门户网站服务器上的不同portlet应用程序 - 并显示该特定记录。

以下是问题: 我已经读过,通过使用Portal 2.0的“公共渲染参数”,您可以在portlet之间共享数据 - 这应该可以解决我的大部分问题。问题是,我无法找到使用Spring MVC时的工作原理。我在Spring MVC技术文档中找不到“公共渲染参数”的引用,但是有些人说他们有它工作。有人可以告诉我具体的详细文档,或者给我一个示例的小代码snippit,显示我如何在我的控制器类中访问这些公共呈现参数?此外,如果有更好的方法在我的环境中实现这一点,它是什么,我在哪里可以找到一个例子?请不要回答,“如果您需要这样做,您不应该使用门户网站”或“如果您使用XYZ技术,那么您可以这样做”。我无法改变环境 - 它就是这样 - 我只需要让它发挥作用! :)谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用公共渲染参数,方法与使用自己的渲染参数相同 渲染参数。您只需在portlet.xml中声明它们即可。 请注意,您不能拥有公共渲染参数 与“私有”渲染参数同名。

您只需要在portlet.xml中添加以下内容:

<public-render-parameter>
      <identifier>myParam</identifier>
      <qname xmlns:x="http://sun.com/params">x:myParam</qname>
</public-render-parameter>

并将以下行添加到portlet描述符中:

<portlet>
      . . .
     <supported-public-render-parameter>myParam</supported-public-render-parameter>
</portlet>

然后,您可以在所有在其portlet描述符中包含此条目的portlet中使用常规的getRenderParameter调用“myParam”。

了解更多信息: http://blogs.oracle.com/deepakg/entry/jsr286_public_render_parameter_feature