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

问题描述:

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

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

您可以像使用自己的渲染参数一样使用公共渲染参数。你只需要在你的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> 

然后你可以使用常规的getRenderParameter电话对于在其portlet描述符中包含此条目的所有portlet中的“myParam”。

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

+0

是 - 我认为这会工作。我对基于注解的控制器模型感到困惑,因为您不能从类或实现接口继承。我理解,在结合你的例子看更多的例子之后。再次感谢您帮助无经验的portlet开发人员!我们在大量事务性的基于SOA的Portal应用程序中使用了大约16个Java框架。来自.net背景需要很多东西! – 2010-03-09 14:26:06