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

4

1 回答 1

1

您应该提供一个带有 jsp 页面作为参数的 actionUrl,而不是将 url 作为“action”传递。

<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页面或表单)调用它们,每次都会针对一个新的重定向

于 2013-06-20T11:22:59.087 回答