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 = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>原始页面</title>

	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>

  <body>
    原始页面. <br>
    <jsp:forward page="jsp_target.jsp"></jsp:forward>
  </body>
</html>

然后让页面Jsp_src.jsp转到jsp_target.jsp页面,jsp_target.jsp页面的代码为:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>jsp目标页面</title>

	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>

  <body>
    目标页面主体. <br>
    <jsp:forward page="jsp_target2.jsp"></jsp:forward>
  </body>
</html>

然后,再次在jsp_target.jsp页面中转到新的jsp页面jsp_target2.jsp,代码为:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>jsp目标页面2</title>

	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>

  <body>
    目标页面主体2. <br>
    req-char:<%=request.getCharacterEncoding() %>
   name=<%=request.getParameter("name") %>
  </body>
</html>

  往浏览器中输入请求url: http://localhost:8080/ServletJSP/forward/Jsp_src.jsp?name=hi

可以看到,浏览器中请求地址依然不变,但内容也变为jsp_target2.jsp的页面的内容,而且,请求的参数name仍然可以保留.

时间: 2024-11-07 04:20:05

jsp - forward指令的相关文章

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

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

【Jsp】Forward指令

Forward指令是Jsp动作指令之一,可以用于将页面响应转发到另外的页面.既可以转发到静态页面,也可以转发到动态页面. 就像表单参数的转发一样,本来没什么好说,但是有几个特性还是要注意一下的.用一个例子就能够完全说明这个问题了. 假设一个工程下面有三个页面,form.jsp是给用户填写表单的,然后把填写的参数传递到forward.jsp,之后不作任何的停留与休整,forward.jsp直接把自己的参数传递到result.jsp. form.jsp的代码如下,就一个简单得不能再简单的表单: <%

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动作用来