2013-06-19 32 views
0

我有一個表格,我允許用戶選擇一些數據並提交表單,並基於該選擇數據將顯示在另一個JSP。上連接兩個JSP頁面提交按鈕的Liferay

我已經使用下面的代碼在第一個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。但上面的代碼不起作用。我應該如何在上面的「action」中提到第二個jsp名稱,以便上面的jsp將我帶到第二個jsp。我正在使用lIferay

+0

我相信你正在處理的portlet靶Ta一個新的重定向,所以你應該建立正確的portletactionurl其中也有jspPage作爲JSP路徑要轉發。 –

回答

0

而不是將url作爲「action」傳遞,您應該提供一個帶有jsp頁面的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", redirectPage); 
} 

這種方式,您可以有做一些標準的東西的動作,如處理那些「指明MyDate」參數,並讓他們每次都重定向至其他網頁。因此,從不同點(不同的JSP頁面或表單)打電話給他們,每次都會