我正在將舊的portlet應用程序從WPS5遷移到WPS6。該應用程序正在使用IBM傳統容器。根據遷移指南,我只更新一些門戶庫和一些標籤引用。該應用程序仍在使用IBM舊版容器和修改後的Struts Portlet。Websphere Portlet遷移,DispatchAction中缺少參數
當我創造這樣一個鏈接:
<html:link page="/page1.do?method=display">Go to Page 1</html:link>
鏈接使這樣的網址:
/wps/.../...[hash-like chars]_spf_strutsAction=!2fpage1.do!3fmethod%3ddisplay#[hash-like chars]
我使用DispatchAction
,這將查找參數 '方法' 的調度。但是,點擊上面的鏈接無法將'方法'的參數傳遞給dispatchAction。在請求參數進一步調查發現該鍵值對:
name: spf_strutsAction
value: !2fpage1.do!3fmethod=display
所以這是很明顯的是request.getParameter('method')
返回null,因爲該參數request.getParameter('spf_strutsAction')
下埋,因此,不能再出動。
當然,我可以通過讀取掩埋參數來強制調度動作。但問題是除'方法'之外還有許多其他參數。
我認爲門戶服務器應該提供它的PortletRequest的實現。這是PortletRequest.getParameter()在某種程度上不正確嗎?或者它是Portlet Struts問題?我如何將這些參數放回請求對象中?