最近我們從WPS v7.0升級到v8.5。我們更新了Portlet和代碼的幾個部分,以使它們兼容並在新平臺上工作(v8.5)。然而,我們發現了一些奇怪的行爲,我們正在尋找一些信息。這裏有雲:WebSphere Portal 8.5 + Action URL +包含上下文路徑中的cookie值
前提:這些portlet使用cookies爲地區代碼的形式,例如哦俄亥俄州,紐約紐約等
在WPS V7早些時候。 0時,生成的Portlet動作URL的格式如下:
http://<host>:<port>/wps/portal/!ut/p/b1/04_SjzQ0M....
等等。
現在,在新的平臺(v8.5)上,URL與下面的表單有點不同。
http://<host>:<port>/wps/portal/oh/!ut/p/z1/pZBNCsIwE...
(在俄亥俄州的情況下)
http://<host>:<port>/wps/portal/ny/!ut/p/z1/pZBNCsIwE...
(在紐約的情況下)
現在來到奇特的一部分。作爲上下文的一部分,8.5上的URL包含cookie值(在這種情況下爲俄亥俄州的哦)。
我跟蹤並檢查了ActionURL
標記和其他URL實現類(如BasicURLImpl, BaseURLImpl, PortletURLProviderImpl
)的日誌,但未發現cookie值如何在生成時成爲操作url的一部分。
編輯: 我能夠解碼URL(以下這篇文章:WebSphere Portal decode url),只見那cookie的值都上來爲共享參數(全球)(參考:IBM WebSphere Portal Remote State Service and Fragment Service),我把他們視爲公共呈現參數。從這裏以下網址解碼輸出樣本摘錄:
<shared-parameters id="global">
<shared-parameter nsuri="http://www.ibm.com/xmlns/prod/websphere/portal/publicparams" localpart="path-info">
<value>oh</value>
</shared-parameter>
</shared-parameters>
在這一點上,我認爲是某種值被設置爲公共呈現參數,但不知道如何該cookie。
我們的目標不是將cookie的值作爲URL的一部分。讚賞任何設置,配置或任何有助於獲得首選結果的線索的線索。
謝謝。