学科分类
目录
Java Web

<c:redirect>标签

​ 在Web应用程序中,如果不想对客户端的请求进行处理,可以将其转发到其它资源进行处理,为了在JSP页面中完成这种功能,Core标签库提供了一个<c:redirect>标签,该标签用于将请求重定向到其它的Web资源,就相当于在Java程序中执行了response.sendRedirect()方法。<c:redirect>标签有两种语法格式,具体如下:

​ 语法1:没有标签体的情况

<c:redirect url="value" [context="context"]>

​ 语法2:有标签体的情况,在标签体中指定重定向时的参数

<c:redirect url="value" [context="context"]>

  <c:patam>subtags

</c:redirect>

​ 在上述语法格式中,可以看到<c:redirect>有两个属性,接下来将针对这两个属性进行讲解,具体如下:

● url属性用于指定要转发或重定向到目标资源的URL地址,可以使用相对路径和绝对路径;

● context属性用于指定重定向到同一个服务器中其它Web应用的名称。

为了使读者更好的学习<c:redirect>标签,接下来通过一个具体的案例来演示如何使用<c:redirect>标签,在使用<c:redirect>标签之前需要引入另外一个JSP页面,这个JSP页面用于获取客户端传递的请求参数,如例1所示。

例1 register.jsp

 1  <%@page import="java.net.URLEncoder"%>

 2  <%@ page language="java" contentType="text/html; charset=utf-8"

 3  pageEncoding="utf-8"%>

 4  <html>

 5  <head></head>

 6  <body>

 7    <%

 8      String username=request.getParameter("username");

 9      username=new String(username.getBytes("iso-8859-1"),"utf-8");

 10     String country=request.getParameter("country");

 11     country=new String(country.getBytes("iso-8859-1"),"utf-8");

 12   %>

 13   UserName=<%= username%>

 14   Country=<%= country%>

 15 </body>

 16 </html>

接下来在chapter08工程的WebContent的根目录中,编写一个c_redirect.jsp文件,用于完成请求的转发,如例2所示。

例2 c_redirect.jsp

 1  <%@ page language="java" contentType="text/html; charset=utf-8"

 2  pageEncoding="utf-8"%>

 3  <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

 4  <html>

 5  <head></head>

 6  <body>

 7    <c:url var="myURL" value="register.jsp">

 8      <c:param name="username" value="张三" />

 9      <c:param name="country" value="中国" />

 10   </c:url>

 11   <c:redirect url="${myURL }" />

 12 </body>

 13 </html>

打开IE浏览器,在地址栏中输入http://localhost:8080/chapter08/c_redirect.jsp访问c_redirect.jsp页面,此时,浏览器窗口中显示的结果如图1所示。

图1 c_ redirect.jsp

从图1可以看出,在浏览器中访问c_redirect.jsp页面时就直接跳转到了register.jsp页面,并且向register.jsp页面传递了两个参数username和country。这是由于在例2中使用<c:url>标签和<param>标签重新构造了一个URL地址并传递了两个参数,因此,当使用<c:redirect>标签进行转发时,便出现了图中所示的结果。

点击此处
隐藏目录