使用Submit Button Liferay链接两个jsp页面

问题描述 投票:1回答:1

我有一个表单,我允许用户选择一些数据并提交表单,并根据该选择数据将显示在另一个jsp中。

我在第一个jsp中使用了以下代码:

    <aui:form name="updateDailyAttendance" action = "<%=request.getContextPath()%> /admin/test.jsp"  method="post" >
        <input type = "date" name = "myDate"/>
        <input type = "submit" name = "Submit"/>
    </aui:form>

test.jsp是第二个JSP。但上面的代码不起作用。我应该如何在上面的“动作”中提到第二个jsp名称,以便上面的jsp将我带到第二个jsp。我正在使用lIferay

forms liferay liferay-6 liferay-ide
1个回答
1
投票

而不是将url作为'action'传递,你应该提供一个actionUrl,其中jsp页面为param。

<portlet:actionURL var="actionName" name="yourMVCPortletFunctionName">
    <portlet:param name="jspPage" value="/admin/test.jsp" />  
</portlet:actionURL>

<aui:form name="updateDailyAttendance" action = "<%= actionName %>"  method="post" >
    <input type = "date" name = "myDate"/>
    <input type = "submit" name = "Submit"/>
</aui:form>

然后在你的控制器中:

public void yourMVCPortletFunctionName(ActionRequest actionRequest, ActionResponse actionResponse){
    throws PortletException, IOException 
    //Do your stuff

    //Redirect
    String redirectUrl = (String)request.getParameter("jspPage");
    actionResponse.setRenderParameter("jspPage", redirectUrl);
}

通过这种方式,您可以执行一些标准操作,例如处理“myDate”参数,并让它们每次都重定向到其他页面。因此,从不同的点(不同的jsp页面或表单)调用它们,每次都会以新的重定向为目标

© www.soinside.com 2019 - 2024. All rights reserved.