码迷,mamicode.com
首页 > Web开发 > 详细

JSP页面的跳转及传值

时间:2018-07-07 17:48:26      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:fresh   .com   之间   http协议   机制   header   eth   html语言   url   

1.response.sendRedirct("跳转到页面的URL");

该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容. request无法传值过去.
执行完该页所有代码,然后再跳转到页面. 跳转地址栏改变.
传值:

sendredirect()中的URL是可以带参数 eg sendredirect("url?name="+name);可用request.getParameter("name")取得参数

//用法
    String name = request.getParameter("name"); 
    sendredirect("url?name="+name);

2.<jsp:forward page = "跳转界面的URL">

该方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户端之前,原来的不发送,改为发送该页面的内容,如果在

1执行完所有代码再跳转到目标页
2跳转到目标页后URL不变 虽然URL显示的是index1.jsp 但其实你看的index2.jsp的内容
3在服务器端重定向
4无法跳转到其他服务器上的页面

使用

//用法

<jsp:forward page = URL>
<jsp:param NAME="参数名称1" VALUE="值1" />
<jsp:param NAME="参数名称2" VALUE="值2" />
</jsp:forward>

3.RequestDispatcher类

使用 RequestDispatcher跳转与forward动作标记实现页面跳转的基本原理是一样的。

//用法

RequestDispatcher  rd = request.getRequestDispatcher("目标页面");

rd.forward(response,request);

4.response.setHeader();

该方法和response.sendRedirect一样,通过修改HTTP协议的HEADER部分.

//用法
 response.setHeader("Refresh","1;url=http://www.baidu.com");

response.setHeader("Refresh","1;url=login01.jsp"); 

//response.setHeader("Refresh","等待的秒数;url=绝对路径或者相对路径"); 路径问题sendredirect也一样 绝对路径相对路径都没意见 上例都是等待1秒之后跳转

5使用session传值

JSP页面之间进行参数传递,可以使用JSP的内置作用域对象session。利用它的两个方法setAttribute(),getAttribute()

 <%       
    session.setAttribute("paramA","A");  
    response.sendRedirect("next.jsp"); 
 %>

想要在 next.jsp 读取 session 的方法:

//内嵌java 片段
<%=session.getAttribute("paramA") %>

//EL 获取方式
{session.paramA}

6HTML语言的自动跳转

//用法
<html>
 <head>
  <meta http-equiv="refresh" content="x";url="//www.baidu.com">
  x是等待时间,如果设置为5表示等待5s后开始跳转
 </head>

JSP页面的跳转及传值

标签:fresh   .com   之间   http协议   机制   header   eth   html语言   url   

原文地址:https://www.cnblogs.com/wengmq/p/9277460.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!