2013-04-13 58 views
0

我有一個函數說:傳遞參數到JSP中使用的ActionRequest ActionResponse的

public void display(ActionRequest areq, ActionResponse ares) throws Exception,PortletException,IOException { 

String name= areq.getParameter("name"); 
String add= areq.getParameter("add"); 
String phone= areq.getParameter("phone"); 
} 

我有一個jsp說disp.jsp其中將用戶輸入傳遞到上述功能顯示。 現在我在對display()函數中的上述數據做了一些處理之後,我想在jsp頁面上顯示結果,稱爲new.jsp。我應該如何繼續呢? 我想是這樣的:

areq.setAttribute("name",name); 
areq.getRequestDispatcher("new.jsp").forward(areq, aresp); but it shows an error that getRequestDispatcher is not defined for actionrequest and actionresponse. 

我使用Liferay的框架

回答

2

在你的行動,你可以設置屬性,並設置重定向頁面那樣:

public void display(ActionRequest aReq, ActionResponse aResp){ 


    aReq.setAttribute("name",name); 

    aResp.setRenderParameter("jspPage", "/new.jsp"); 
} 

我通常喜歡,而不是設置屬性的參數,因爲它允許傳遞非Sting變量。 然後,在jsp中你可以得到的屬性

<% 
String name = (String)renderRequest.getAttribute("name"); 
%> 

只記得包含這個,有機會獲得的RenderRequest對象

<portlet:defineObjects /> 
+0

感謝yannicuLar ..我會嘗試並標記你的答案。 :) –

+0

不客氣。讓我知道如果這工作 – yannicuLar

+0

對不起,這樣一個遲到的答覆。你的解決方案有效我已經接受你的答案。再次感謝。你在這裏的另一個論壇幫助過...... :) –