JSP页面的跳转及传值
1.response.sendRedirect("跳转到页面的URL");
该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容. request无法传值过去.
执行完该页所有代码,然后再跳转到页面. 跳转地址栏改变.
传值:
sendredirect()中的URL是可以带参数 eg sendredirect("url?name="+name);可用request.getParameter("name")取得参数
//用法
String name = request.getParameter("name");
response.sendRedirect("url?name="+name);
2.<jsp:forward page = "跳转界面的URL">
该方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户端之前,原来的不发送,改为发送该页面的内容,如果在jsp:forward之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意.
RequestDispatcher与response重定向跳转的区别:
1执行完所有代码再跳转到目标页
2跳转到目标页后URL不变 虽然URL显示的是index1.jsp 但其实你看的index2.jsp的内容
3在服务器端重定向
4无法跳转到其他服务器上的页面
使用jsp:param将参数传递给JSP网页时,JSP网页可通过 ##request.getParameter("参数名称") 取得传入的参数
//用法
<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);
//简写
request.getRequestDispatcher("xxx.jsp").forward(request,response);
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页面的跳转及传值的更多相关文章
- 过滤器Filter(拦截jsp页面的跳转)案例:
创建一个 Filter , class类: 其继承于 接口 Filte(接口导包:import javax.servlet.Filter;) 在 web.xml 文件中配置并映射该 Filter. 其 ...
- HTML页面之间跳转与传值(JS代码)
跳转的方法如下: 方法一: window.location.href = "b.html"; 方法二(返回上一个页面,这个应该不算,先放在这): window.history.ba ...
- Spring Boot jsp页面无法跳转问题
可能的情况如下: 1.未在pom.xml中添加依赖 <!-- jsp 视图支持--> <dependency> <groupId>org.apache.tom ...
- Android Studio [页面的跳转和传值]
AActivity.java package com.xdw.a122.jump; import android.app.Activity; import android.content.Compon ...
- jsp页面的跳转取值
<p >工单管理 >> <c:if test="${code eq 0}">全部工单>>详情页</c:if> <c ...
- SpringBoot项目中加入jsp页面
根据我们之前搭建好的SpringBoot+SSm的项目的基础上,来增加webapp/WEB-INF的文件,由此来完成jsp页面的跳转. 先增加jsp的pom依赖: <!-- https://mv ...
- Struts2如何传值到jsp页面
Struts2如何传值到jsp页面 不是action传值到jsp页面,而是jsp页面获取action中的属性值,或者范围(如request,session,application等)里的值.所以,有两 ...
- JSP 页面传值方法总结(转)
原文地址:http://www.cnblogs.com/java-class/p/6358964.html 阅读目录 1. URL 链接后追加参数 2. Form 3. 设置 Cookie 4. 设置 ...
- JSP 页面传值方法总结
JSP 页面间传递参数是项目中经常需要的,这应该算是 web 基本功吧. 试着将各种方式总结下来,需要时可以进行权衡利弊选择最合适的方式. 1. URL 链接后追加参数 <a href=&quo ...
随机推荐
- 梦想CAD控件打印相关
一.打印设置 在顶部快速访问工具栏单击打印按钮或者直接输入PLOT命令或者点击打印控制的打印设置按钮打开打印对话框.c#代码实现如下: //打印设置 private void Print1() { ...
- Gitlab forbidden
搭建使用了两年的gitlab 抽风了居然forbidden # vim /etc/gitlab/gitlab.rb gitlab_rails['rack_attack_git_basic_auth'] ...
- 数据类型对应字节数(32位,64位 int 占字节数)
数据类型对应字节数(32位,64位 int 占字节数) 可用如sizeof(char),sizeof(char*)等得出 32位编译器: char :1个字节 char*(即指针变量): 4个字节(3 ...
- java面试题链接
http://blog.csdn.net/jackfrued/article/details/17339393
- 「 RQNOJ PID204 」 特种部队
解题思路 看了一下题解,感觉题解貌似有些错误.所以把我的见解放在这里,希望路过的大佬可以帮忙解释一下 QAQ 就是这里的更新 $dp[i-1][i]$ 和 $dp[i][i-1]$ 的时候,之前博主说 ...
- MarkDown语法和使用
MarkDown语法: Markdown在线编辑器 MdEditor Markdown 语法整理大集合2017 MarkDown 数学公式 在Markdown中输入数学公式(MathJax) \(\l ...
- NFV
转载: NFV介绍定义:NFV,即网络功能虚拟化,Network Function Virtualization.通过使用x86等通用性硬件以及虚拟化技术,来承载很多功能的软件处理.从而降低网络昂贵的 ...
- 【Codeforces 584C】Marina and Vasya
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 设cnt表示s1和s2不同的字符的个数 如果cnt>2t 因为这cnt个位置肯定至少有一边不同 显然肯定会有一个f(s,S)的值大于t的 ...
- 解决Windows Server 2012 R2 Datacenter云服务器无法运行opencv python程序的问题
写了个基于opencv的python程序,pyinstaller 32位机打包后在win7/win10 32/64正常运行,在Windows Server 2012 R2 Datacenter云服务器 ...
- [bzoj1115][POI2009]石子游戏Kam_博弈论_阶梯博弈
石子游戏 Kam bzoj-1115 POI-2009 题目大意:给定n堆石子,两个人轮流取石子.每堆石子的个数都不少于前一堆石子.每次取后也必须维持这个性质.问谁有必胜策略. 注释:$1\le ca ...