我在JSP中有下面的代碼。頁面沒有被重定向
try {
...
if (...)
response.sendRedirect("secondPage.jsp");
...
} catch (Exception e) {
response.sendRedirect("thirdPage.jsp");
}
頁面沒有按照代碼重定向。 我在服務器中獲得IllegalStateException
。
我在JSP中有下面的代碼。頁面沒有被重定向
try {
...
if (...)
response.sendRedirect("secondPage.jsp");
...
} catch (Exception e) {
response.sendRedirect("thirdPage.jsp");
}
頁面沒有按照代碼重定向。 我在服務器中獲得IllegalStateException
。
正如我所知...... 轉接呼叫後:
這裏兩件事情,以通知:
所以牢記這一點,你應該提供絕對URL(包括網頁上下文或網站根目錄文件夾)高達您的最終目的地資源,而不是相對網址。
你的代碼應該工作。但是,我建議使用<JSP:FORWARD>
。
例子: -
<jsp:forward page="index.jsp" />
它更貼近您的purpose.Try,並希望它會幫助你。
確保你沒有寫任何東西到你的sendRedirect命令之前響應。
既然你得到了IllegalStateException它看起來像你的jsp已經寫了一些內容到響應,然後嘗試重定向。
在這種情況下更好的選擇是在一個Servlet中編寫你的邏輯。
[java.lang.IllegalStateException:在提交響應後無法轉發]的可能重複(http://stackoverflow.com/questions/2123514/java-lang-illegalstateexception-cannot-forward-after-response-has-已提交) – Lion 2013-04-29 05:16:16
如果您有異常堆棧跟蹤,那麼請不要忘記下次發佈完整的異常堆棧跟蹤。 – Lion 2013-04-29 05:19:08