有訪問一個Jetspeed2的Portlet /門戶網站URL參數的方法嗎?訪問JSR 286 Portlet中的URL參數?
,如:www.bla.com/portal/page.psml?param=12345
我只能找些工具的Liferay(PortalUtil.java)來訪問HttpServletRequest的,但據我所知,對jetspeed來說不是這樣的嗎?
我認爲公共呈現參數可用於這樣的事情,但我有點糊塗了嗎?沒有人有過這個問題嗎?
在此先感謝:)
有訪問一個Jetspeed2的Portlet /門戶網站URL參數的方法嗎?訪問JSR 286 Portlet中的URL參數?
,如:www.bla.com/portal/page.psml?param=12345
我只能找些工具的Liferay(PortalUtil.java)來訪問HttpServletRequest的,但據我所知,對jetspeed來說不是這樣的嗎?
我認爲公共呈現參數可用於這樣的事情,但我有點糊塗了嗎?沒有人有過這個問題嗎?
在此先感謝:)
找到了答案:
直到2.1版本,Jetspeed的門戶網站合併請求參數與門戶特定 參數,有效地讓 「共享」 參數。 這是不符合JSR-168 PLT.11,因此默認情況下,這是現在被禁用。
通過設置merge.portal.parameters.with.portlet.parameters = true,此功能可以「恢復」 。 在具有相同名稱的門戶和portlet參數的情況下,通過默認 該portlet參數將值陣列中首先提供,但通過設置該merge.portal.parameters.before.portlet.parameters太 可以重寫=真正
設置這兩個屬性爲true,將提供「老」預2.1行爲。 注:個人門戶,這些全局設置可以通過Jetspeed的-portlet.xml中
merge.portal.parameters.with.portlet.parameters =假 merge.portal.parameters設置這些屬性的元數據覆蓋。 before.portlet.parameters =假
要使用公共呈現從2.0規格參數
不知道它是否適合Jetspeed的,但你可以嘗試得到的HttpRequest是這樣的:
HttpServletRequest httpRequest = (HttpServletRequest) request.getAttribute("javax.servlet.request");
然後找到查詢字符串在這樣的標題:
String referer = httpRequest.getHeader("referer");
然後您就擁有完整的頁面引薦,所以你可以解析查詢字符串。