0

我有一个功能说:

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

4

1 回答 1

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 />
于 2013-04-15T07:12:01.043 回答