2010-01-12 66 views
2

我有一個簡單的HTML頁面,其中包含一個表單(使用GET方法),其操作是包含JSF portlet的門戶頁面。 我需要訪問傳遞到我的portlet門戶頁面的參數 - 我該如何實現?如何在IBM Websphere Portal 6.1 JSF Portlet中傳遞和獲取URL參數?

我試圖使用以下代碼訪問查看頁面上的參數code,但值爲null

java.util.Map requestMap = javax.faces.context.FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); 
String code = requestMap.get("code"); 

在其他一些論壇上有人建議我需要通過portlet的id作爲請求參數,以具有傳遞請求參數portlet的訪問。如果在哪裏/如何查找我的portlet ID,以便Portlet可以訪問請求參數,那麼這是真的嗎?

回答

3

我會研究public render parameters的WebSphere實現是否支持這一點。如果ExternalContext請求參數映射不公開這些值,則可以將the request轉換爲PortletRequest並使用Map<String,String[]> getPublicParameterMap()方法。

+0

鑄件應在什麼地方完成?我相信它必須在portlet的查看頁面呈現之前完成。一旦呈現視圖頁面,請求參數就已經丟失。 – 2010-01-12 20:51:01

0

查看我的文章將查詢參數傳遞給JSR-286 portlet here

我知道這是一個支持的方式來做到這一點。我見過其他文章聲稱你可以簡單地將PortletRequest轉換爲某些東西並獲取參數。這可能不被支持,因爲它取決於特定的實現和對內部類名稱的引用。我推薦以上。

相關問題