我有一个表单,我允许用户选择一些数据并提交表单,并根据该选择数据将显示在另一个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
答案 0 :(得分:1)
而不是将url作为'action'传递,你应该提供一个以jsp页面为param的actionUrl。
<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页面或表单)调用它们,每次都会以新的重定向为目标