jsp中的頁面跳轉方式
阿新 • • 發佈:2018-11-02
- 方法一 href
在一些html的文件中,用herf實現頁面跳轉的比較常見,也很好用。
jsp一般不用 - 方法二:getRequestDispatcher請求轉發
request.getRequestDispatcher(url).forward(request,response);
這種方法比較實用,在伺服器端執行,url使用相對路徑,不會重新建立request和response,前後頁面共享一個request,位址列還是原來的地址,不是轉發後的地址
!運用forward方法只能重定向到同一個Web應用程式中的一個資源
AND分為兩種RequestDispatcher
- ServletContext.getRequestDispatcher(String url)中的url只能使用絕對路徑;
- ServletRequest.getRequestDispatcher(String url)中的url可以使用相對路徑。
因為ServletRequest具有相對路徑的概念;而ServletContext物件無次概念。
3. 方法三: sendRedirect重新定向
response.sendRedirect(“login.jsp”);
與上面相反,url使用絕對路徑,可以訪問任何url,所以當要訪問的不再同一webapp時使用比較好,會改變位址列
轉發 or 重定向
- 轉發比重定向快
- 使用重定向可以避免使用者重新載入頁面時執行相同的動作
- 重定向無法傳值,這是比較頭疼的一件事,jsp的話只能在session傳值或
位址列傳值,SpringMvc就解決了這一問題,百度Flash屬性
- 方法四:利用表單的action
<form method="post" action="ChangrCount.jsp" id="form1"> <input type="hidden" name="albumId" value="${item.albumId}" /> <input style="width:50px;" type="text" name="count" value="${item.count}" id="namecount"/> </form>
這種方法不用多說了,在input提交時比較常用