response.sendRedirect 傳遞參數的問題


response.sendRedirect是通過瀏覽器來做轉向的。

假設在A.jsp頁面設置request.setAttribute("username","admin");

那么在  request.sendredirect 轉向的B.jsp頁面中是不能通過request.getAttribute("username");  來得到admin的。

這是因為上個頁面請求已經結束,也就是 request這個對象已經消亡了。所以也就得不到admin了。

可以使用request.getDispatcherHeader(B.jsp").forward(request,response);在B.jsp頁面就可以得到admin了。

此外要說明:如果你的jsp頁面是在webroot目錄下,那么在response.sendRedirect(參數);參數中的路徑是不同的。

response.sendRedirect(參數);應該是:response.sendRedirect(request.getContextPath() + "/B.jsp");

而在request.getDispatcherHeader(參數).forward(request,response);應該使用request.getDispatcherHeader("B.jsp").forward(request,response);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM