2010-03-04 118 views
5

這裏是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技術,那麼你可以做這個和那個」。我無法改變環境 - 它就是這樣 - 我只需要讓它工作! :) 謝謝!

回答

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> 

然後你可以使用常規的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