當前位置:編程學習大全網 - 圖片素材 - 關於request.setAttribute()的用法 急死我了

關於request.setAttribute()的用法 急死我了

”forward是客戶端轉向 sendRedirect是服務端轉向 我想在服務端轉“

以上語句完全理解錯誤!!

forward是轉向,將現在的請求轉交,他只能在同壹個容器裏使用同時保存客戶的請求狀態。

sendRedirect是重定向,可以在同壹個容器裏使用,也可以發送其他容器請求,但是會丟失請求信息。它等於重發壹個請求。

request.setAttribute是在請求域裏面加了壹個請求的參數,所以在sendRedirect以後是無法取到request.setAttribute的請求的。

解決辦法(兩種):

1、如果妳是在同壹個服務器(容器)裏做的轉向工作。那麽可以這樣

request.setAttribute("cha", cha);

改成

request.getSession().setAttribute("cha", cha);

然後

<%Object a = (Object)request.getSession().getAttribute("cha");%>

其他不變。

2、妳在Servlet裏面這樣寫:

response.sendRedirect(“a.jsp”);

改成

response.sendRedirect("a.jsp?a=cha");

那麽在a.jsp頁面上直接

<%=request.getParameter("a")%>

就可以了,不用寫<%Object a = (Object)request.getAttribute("cha");%>.

當然用Forward也可以實現,我就不再寫了。

  • 上一篇:鹽城十大名菜,鹽城地方名菜有哪些,妳吃過幾道?
  • 下一篇:大爺上廁所車被拖走是第幾集
  • copyright 2024編程學習大全網