学科分类
目录
Java Web

<jsp:forward>标签

在JSP页面中,经常需要将请求转发给另外一个资源,这时,除了RequestDispatcher接口的forward()方法可以实现外,还可以通过<jsp:forward>标签来实现。<jsp:forward>标签的具体语法格式如下所示:

<jsp:forward page="relativeURL" />

在上述语法格式中,page属性用于指定请求转发到的资源的相对路径,该路径是相对于当前JSP页面的URL。

为了大家更好地理解<jsp:forward>标签,接下来,通过一个案例来学习<jsp:forward>标签的具体用法。首先编写一个用于实现转发功能的jspforward.jsp页面和一个用于显示当前时间的welcome.jsp页面,具体如例1和例2所示。

例1 jspforward.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<jsp:forward page="welcome.jsp" />

例2 welcome.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<html>
<title>Insert title here</title>
<body>
    你好,欢迎进入首页,当前访问时间是:
    <%
        out.print(new java.util.Date());
    %>
</body>
</html>

启动Tomcat服务器,通过浏览器访问地址http://localhost:8080/chapter07/jspforward.jsp,浏览器的显示界面如图1所示。

图1 运行结果

从图1中可以看出,浏览器显示出了welcome.jsp页面的输出内容。通过查看jspforward.jsp页面翻译的Servlet源文件,会发现<jsp:forward>标签被翻译成了如下所示的一段代码:

  out.write("\r\n");
      out.write("\r\n");
      if (true) {
        _jspx_page_context.forward("welcome.jsp");
        return;
      }
      out.write('\r');
      out.write('\n');

从上面的代码可以看出,<jsp:forward>标签被翻译成了调用pageContext.forward方法的语句,并在调用pageContext.forward方法后使用return语句结束了service()方法的执行流程,从而不再执行<jsp:forward>标签后的语句。

点击此处
隐藏目录