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对用户检测部分进行了封装。这个自己可以动手写一下。
jsp中利用response.senddirect(str)重定向,传递参数新思路的更多相关文章
- springMVC controller间跳转 重定向 传递参数的方法
springMVC controller间跳转 重定向 传递参数的方法 spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参 ...
- JSP重定向传递参数
我一个JSP程序,要实现前台提交数据给后台处理后,后台jsp自动跳转到另一个jsp页面,这种方式也叫重定向,重定向的方法有多种,暂时我试过的并且能成功的有两个: 一种是用 response.sendR ...
- JSP中的请求转发与重定向
在说请求转发和重定向之前,得了解下JSP九大内置对象中的response和request response:将服务器端数据发送到客户端,可通过在客户端浏览器中显示,用户浏览页面的重定向以及在客户端创建 ...
- struts2 与 OGNL 表达式,jsp中 利用ognl 在valuestack中取值
在Struts2中,一个请求在终于到达Action的方法之前,Action对象本身会被压入ValueStack(实际上就是放到ValueStack的CompoundRoot中),所以Action对象是 ...
- JSP中利用JSTL标签对日期格式化
数据库:Mysql 开发语言:JAVA 页面类型:JSP 对Mysql中的日期类型格式化,在JSP中,如何办呢,很多人说在JAVA后台去日期格式化,无奈了,于是找到了比较靠谱的答案 需要先引入JSTL ...
- SpringMvc中两个Controller类之间传递参数的方法
使用SpringMvc框架,在访问ControllerA的时候,将A里面的参数传递到ControllerB中.适用于同一框架下两个不同Controller或者由rpc(dubbo)连接的两个工程里的C ...
- 二次封装Response类 | 视图类传递参数给序列化类context
二次封装Response类 源码: class Response(SimpleTemplateResponse): """ An HttpResponse that al ...
- 记一次WinForm程序中主进程打开子进程并传递参数的操作过程(进程间传递参数)
目标:想在WinForm程序之间传递参数.以便子进程作出相应的处理. 一种错误的方法 父进程的主程序: ProcessStartInfo psi = new ProcessStartInfo(); p ...
- js定时器中引用的外部函数如何传递参数
问题:比如在一个点击事件中我需要将点击事件参数event传入到定时器中,如果只是单纯的在setTimeout(timer(e),1000)中写上括弧e,则该定时器不会等到1s才执行,而是会立即执行.那 ...
随机推荐
- 15款增强web体验的Javascript库
1. Pikaday: Standalone JavaScript Datepicker 这是一个令人耳目一新的JavaScript日期选择器 轻量轻(压缩和gzip后小于5KB) 没有依赖其它JS框 ...
- http://www.cnblogs.com/20135131zxy/
一.实验内容 1. 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试Java程序 二.实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门( ...
- Rserve, java调用R源文件
Rserve安装和加载: install.packages("Rserve") library("Rserve") Rserve() java调用: REn ...
- 众安「尊享e生」果真牛的不可一世么?
近日,具有互联网基因的.亏损大户(成立三年基本没盈利,今年二季度末亏损近4亿,你能指望它多厉害?).财产险公司—众安推出“尊享e生”中高端医疗保险(财险公司经营中高端医疗真的很厉害?真的是中高端医疗险 ...
- IRunningObjectTable接口
IRunningObjectTable接口
- [Tomcat 源码分析系列] (附件) : setclasspath.bat 脚本
@echo off rem Licensed to the Apache Software Foundation (ASF) under one or more rem contributor lic ...
- android系统中查看哪些端口被哪些应用打开
1 查看哪些端口开放,netstat 2 根据端口号获取到UID,比如端口号为10050,转成16进制是2742,使用命令grep -i 2742 /proc/net/tcp6,就能看到其UID,假如 ...
- 计算机病毒实践汇总二:bufferzone沙盘使用体验
在尝试学习分析的过程中,判断结论不一定准确,只是一些我自己的思考和探索.敬请批评指正! 1. 安装bufferzone及其简单使用 (1)安装BufferZone BufferZone的msi安装文件 ...
- 线程死锁情况和while在线程的作用
public class printDemo04 { public static void main(String[] args) { Resource01 resource01 = new Reso ...
- oracle命令
oracle创建表空间: 1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执行 2.确保路径存在,比如[D:\oracle\oradata\Oracle9i\]也就是你要 ...