提交表单后重定向到另一个jsp页面

时间:2013-05-07 08:54:40

标签: java jsp

我有2个jsp页面“/page1.jsp","/page2.jsp”和“file.java”,从“/ page1”提交表单后我想去行动方法从数据库中取一些记录并使用我拥有的记录转到“/ page2”并列出它。一切都已完成但由于某种原因,我无法进入“/ page2”页面,它将我带到其他地方(另一个.jsp页面)。

我正在使用liferay并扩展MVCPortlet类

提前致谢!!!。

public void AddCustomer(ActionRequest actionRequest, ActionResponse actionResponse) throws                  IOException, PortletException {

    ...

    pCustomer.setCustomerId(customerId);

    // set UI fields
    pCustomer.setName(cusName);
    pCustomer.setAddress(address);
    pCustomer.setComments(comments);
    try {
        PCustomerLocalServiceUtil.addPCustomer(pCustomer);
    } catch (com.liferay.portal.kernel.exception.SystemException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    ...
}

addCustomer.jsp:

<portlet:actionURL var="addCustomersAct" name="AddCustomer">
<portlet:param name="jspPage" value="/allCustomers.jsp"/>
</portlet:actionURL>  
<form method="post" action="<%= addCustomersAct %>">
 ...
</form>

allCustomers.jsp

<%for (PCustomer allCustomer : customers) { %>
<tr>
 ...//List of all customers
</tr>
<% } %>

在addCustomers.jsp之上我有一些更多的portlet参数,因为我有一个sidemenu,我需要它们用于渲染请求。

4 个答案:

答案 0 :(得分:2)

在你的addCustomer.jsp中创建一个renderURL并将其作为隐藏参数提供为redirect url

...
    <portlet:renderURL var="redirectURL">
    <portlet:param name="jspPage" value="/html/yourhtmlpath/confirm.jsp"/>
    </portlet:renderURL>
...

<form>
    ...
        <aui:input name="redirectURL" type="hidden" value="${redirectURL}"></aui:input>
    ...
</form>

在执行任务后的processAction方法中:

...
    actionResponse.sendRedirect(ParamUtil.getString(actionRequest, "redirectURL"));
...

答案 1 :(得分:1)

捕获块后,您可以添加以下代码声明。

actionResponse.sendRedirect("page2.jsp");

答案 2 :(得分:0)

希望看到更多代码片段。这是将请求转发给另一个jsp

    String destination = "page2.jsp"; // using relative path here
        RequestDispatcher rd = getServletContext().getRequestDispatcher(destination);
        rd.forward(request, response);

确保使用目标jsp的正确路径

答案 3 :(得分:0)

 In place of mul change the object according to your requirement whatever value you want which is redirected to jsp
        actionRequest.setAttribute("mul",mul);
        actionResponse.setRenderParameter("jspPage", "/jsp/b.jsp");
In jsp:
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />
<h6>Mul</h6>
<%= renderRequest.getAttribute("mul") %>