jsp中利用response.senddirect(str)重定向,傳遞參數新思路


用Servlet進行請求重定向,參數傳遞好辦,直接用request.setAttribute(str1,str2);

但是如果不用Servlet 而是直接用jsp進行轉發呢?

我們首先要知道   請求的重定向:在最終的Servlet中,request對象和中轉的那個request不是同一個對象 

所以傳遞參數,自然就獲取不到了

下面我們換思路,另辟蹊徑,我們用session   session的生命周期長啊  所以完全可以獲取

至於session與request的知識,請查閱相關資料

下面貼出登錄出現密碼或用戶名錯誤  跳轉至login頁面

<%
			userBean bean = new userBean();
			String name = request.getParameter("userName");
			String password = request.getParameter("userPassword");
			String str1 = "";
			if(bean.isVerifyLoginInfo(name, password))
				str1 = "login success";
			else
			{
				str1 = "fail in login,password or username has error.";
			%>
			<%-- 請求轉發
			<jsp:forward page="login.jsp">
			<jsp:param name="error" value="<%=str1%>"/>	
			</jsp:forward>
			--%>
			<%
				//請求重定向
				
				session.setAttribute("error",str1);
				//request.setAttribute("error",str1);
				response.sendRedirect("login.jsp");
				
				}
%>

  

     <%
         //利用重定向獲取到的參數屬性 //String str = (String)session.getAttribute("error"); String str = (String)request.getAttribute("error"); /*利用請求轉發獲取的參數 String str = request.getParameter("error"); if(str == null) str=""; */ if(str == null) str=""; %> <h2 align="center"><font color="red"><%=str %></font></h2>

  userBean對用戶檢測部分進行了封裝。這個自己可以動手寫一下。


免責聲明!

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



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