我有一个功能说:
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框架
答案 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 />