【Jsp】Forward指令

Forward指令是Jsp动作指令之一,可以用于将页面响应转发到另外的页面。既可以转发到静态页面,也可以转发到动态页面。

就像表单参数的转发一样,本来没什么好说,但是有几个特性还是要注意一下的。用一个例子就能够完全说明这个问题了。

假设一个工程下面有三个页面,form.jsp是给用户填写表单的,然后把填写的参数传递到forward.jsp,之后不作任何的停留与休整,forward.jsp直接把自己的参数传递到result.jsp。

form.jsp的代码如下,就一个简单得不能再简单的表单:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>form</title>
</head>
<body>
<form method="post" action="forward.jsp">
<input type="text" name="formPageParam" />
<input type="submit" value="go!" />
</form>
</body>
</html>

forward.jsp的代码如下,这是jsp中独有的标签,意思是把forwardPageParam这个值为forwardPageParamValue参数传递到result.jsp页面:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>forward</title>
</head>
<body>
<jsp:forward page="result.jsp">
<jsp:param value="forwardPageParamValue" name="forwardPageParam"/>
</jsp:forward>
</body>
</html>

之后,result.jsp的代码如下,同时请求form.jsp与forward.jsp的参数:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>result</title>
</head>
<body>
<%=request.getParameter("formPageParam")%>
<%=request.getParameter("forwardPageParam")%>
</body>
</html>

这三个页面的运行效果如下:

可以发现,form.jsp传递给forward.jsp没有丢失,纵使forward.jsp没有把这个参数取下来再传递给result.jsp,但result.jsp同时能够获取到form.jsp与forward.jsp的参数,这就是Jsp中Forward指令的特性,原来页面的参数是不会丢失的。并且,地址栏显示的地址是forward请求页forward.jsp,整个页面读取出来的内容则是forward结果页result.jsp的内容。

时间: 2024-10-08 14:28:31

【Jsp】Forward指令的相关文章

jsp - forward指令

forward指令 既可以指向静态的html页面,也可以转发到动态的jsp页面,并可以保留先前请求的参数. 例如,在web中新建一个Jsp_src.jsp的jsp页面: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = r

JSP基础语法--跳转指令 jsp:forward page

带参数的跳转指令: <jsp:forward page="{路径|<%=表达式%>}"/> <jsp:param name="参数名称" value="参数内容"/> </jsp:forward> 实际生活中,很多人有email邮箱,如果成功的话,跳转到邮箱的首页,失败的话,重新登录 跳转之后的页面: <%@ page contentType="text/html" pag

jsp基础知识二(jsp动作指令)

动作指令与编译指令不同,编译指令是通知servlet引擎的处理消息,而动作指令只是运行时的动作.编译指令在将JSP编译成Servlet时起作用,而动作指令通常可替换成JSP脚本,它只是JSP脚本的标准化写法. (1)JSP:forward  执行页面转向,将请求的处理转发到下一个页面. (2)JSP:param  用于传递参数,必须与其他支持参数的标签一起使用 (3)JSP:include  用于动态引入一个JSP页面 (4)JSP:plugin 用于下载JavaBean或者Applet到客户端

jsp 三大指令和动作标签

jsp三大指令 一个jsp页面中可以有0-N个指令 1.page--->最复杂:<%@page language="" ...%> *pageEncoding和contentType pageEncoding:指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.java时需要使用pageEncoding contentType:它表示添加一个响应头:Content-Type ,相当于response.setContentType() *imp

JSP常用指令

一.指令元素1.page指令importsessioncontentTypebufferisTreadSafeinfoerrorPageisErrorPage2.include指令3.taglib指令二.脚本元素1.声明元素2.表达式元素3.脚本元素4.注释元素三.标准动作元素1.<jsp:param>2.<jsp:include>3.<jsp:forward>4.<jsp:plugin>5.<jsp:useBean>6.<jsp:setP

JSP简单练习-JSP动作指令

JSP动作指令在JSP程序设计中经常会用到,与JSP指令不同,它将影响JSP运行是的功能! 1.include动作指令: include动作指令用来在JSP页面中动态包含一个文件,这样包含页面程序与被包含页面的程序是彼此独立的,互不影响.JSP的include动作指令可包含一个动态文件也可以包含一个静态文件.如果包含的是一个静态文件(如一个文本文件),就直接输出给客户端,由客户端的浏览器负责显示,如果包含的是一个动态文件,则由服务器的JSP引擎负责执行,再把运行结果返回给客户端显示出来. 注意:

JSP编译指令、JSP动作指令

JSP编译指令:通过指令中的属性配置来向JSP容器发出指令,用来控制JSP页面的某些特征 JSP指令格式:<%@ 指令名   [一个或多个指令属性]%> 1.page:用于对JSP页面中的全局属性进行设置 page指令位于页面顶端,在一个JSP页面中可以有多个page指令,但不能指定同样的page指令 属性: language//指定页面使用脚本语言 inport//类似于java中导包 session//设置共享信息有效性 contentType//设置JSP页面应答的MIME类型 isTr

JSP动作指令

注:动作指令与编译指令不间,编译指令是通知 Servlet 引擎的处理消息,而动作指令只是运行时的脚本动作.编译指令在将JSP 编译成 Servlet 时起作用:动      作指令通常可替换成 Java脚本,是 JSP脚本的标准化写法 jsp:forward: 执行页面转向,将请求的处理转发到下一个页面. jsp:param: 用于传递参数,必须与其他支持参数曲标签一起使用. jsp:include: 用于动态引入一个 JSP 页面. jsp:p1ugin: 用于下载java插件,并且该动作是

Jsp forward plugin的操作和方法

jsp:forward 动作把请求转到另外的页面.jsp:forward 标记只有一个属性page.page 属性包含的是一个相对URL.page 的值既可以直接给出,也可以在请求的时候动态计算,如下面的例子所示:<jsp:forward page="/utils/errorReporter.jsp" /><jsp:forward page="<%= someJavaExpression %>" /> jsp:plugin动作用来