2011-05-30 128 views
0

我指的是具有來自我的portlet的paramID的url。該paramID的內容在不同的portlet中處理,並具有自己的控制器。將參數從portlet URl設置爲HttpServletRequest

該控制器正在採取HttpServletRequest讀取該參數。

HttpServletRequest request = PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(renderRequest)); 
String paramID= request.getParameter("paramID");` 

我的參數是在URL http://mysite.com?paramID=123

請問HttpServletRequest的閱讀時,我使用的renderURL

<liferay-portlet:renderURL var="xyz" portletName="ABC" windowState="Normal"/> 
... 
<a href="xyz?pramID"> Click here</a> 
+0

'' Click here應該是'' Click here有一個錯字,我想。它是隻在這個帖子或在你的代碼?你應該檢查:) – mico 2011-06-05 19:48:45

+0

@Mikko:錯字在這裏。我的代碼正確。 – 2011-06-07 06:43:00

回答

0

我這樣做是與提供的參數值的方式,而我調用的renderURL

<liferay-portlet:renderURL var="xyz" portletName="ABC" windowState="Normal"/> 
</liferay-portlet:renderURL> 

.....

<JAVASCRIPT> 
    var URL = NULL;  
    function(called){ 
      URL = "${xyz}&paramID=123"    //and this was read as servlet param 
    } 
</JAVASCRIPT> 
0

一些有關呈現URL呼叫和這種是this question之下的社會來說,這PARAM維基答案。

另外在一些不在網上的教程中,我已經閱讀了這種參數傳遞是最容易通過會話完成的。 Session對於porlet和servlet是很常見的,所以你不必考慮哪個參數是可見的,哪個不可以。