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对用户检测部分进行了封装。这个自己可以动手写一下。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。