使用ActionRequest Actionresponse将参数从java类传递给jsp

时间:2013-04-13 09:14:47

标签: java jsp liferay-6 request-object

我有一个功能说:

 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框架

1 个答案:

答案 0 :(得分: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 />