JSP标准标签库(JSTL)之核心标签(下)

 

前面记录了核心标签的前几种,现在来接着记录。

七、<c:import>标签

   使用<c:import>标签可以包含一个FTP服务器中不同的网页内容。语法格式:

<c:import
   url="待导入资源的URL,可以是相对路径和绝对路径,并且可以导入其他主机资源"
   var="用于存储所引入的文本的变量"
   scope="var属性的作用域"
   varRender="可选的用于提供java.io.Reader对象的变量"
   context="当使用相对路径访问外部context资源时,context指定了这个资源的名字"
   charEncoding="所引入的数据的字符编码集"/>

举例:

<body>
<c:import var="baidu" url="http://www.baidu.com" charEncoding="utf-8"
 scope="request"></c:import>
百度首页的源代码是:
<c:out value="${baidu}" escapeXml="true"></c:out>
<c:out value="${baidu}" escapeXml="false"></c:out>
</body>

网页显示:

八、<c:forEach>、<c:forTokens>标签

   <c:forEach>标签迭代一个集合中的对象。<c:forTokens>标签通过指定分隔符将字符串分隔为一个数组然后迭代它们。

语法格式:

  forEach:

<c:forEach
    items="要被循环的信息"
    begin="开始的元素(0=第一个元素,1=第二个元素)"
    end="最后一个元素(0=第一个元素,1=第二个元素)"
    step="每一次迭代的步长"
    var="代表当前条目的变量名称"
    varStatus="代表循环状态的变量名称">
</c:forEach>

  forTokens:

<c:forTokens
    items="要被循环的信息"
    delims="分隔符"
    begin="开始的元素"
    end="最后一个元素"
    step="每一次迭代的步长"
    var="代表当前条目的变量名称"
    varStatus="代表循环状态的变量名称">
</c:forTokens>

举例:

  forEach:

  <body>
    <%
        String[] data = {"刘备","关羽","张飞","赵云","黄忠"};
        pageContext.setAttribute("info",data);
     %>
     <c:forEach items="${pageScope.info }" var="item" >
         ${item }、
     </c:forEach><br>
     <!--                                             起始       结束     步长 -->
     <c:forEach items="${pageScope.info }" var="item" begin="0" end="2" step="1">
         ${item }、
     </c:forEach>
  </body>

  输出:

           

  forTokens:

<body>
<c:forTokens items="www.baidu.com" delims="." var="name">
   <c:out value="${name}"/><p>
</c:forTokens>
</body>

   输出:

    

九、<c:url>标签

  <c:url>标签将URL格式化为一个字符串,然后存储在一个变量中。这个标签在需要的时候会自动重写URL。var属性用于存储格式化后的URL。<c:url>标签只是用于调用response.encodeURL()方法的一种可选的方法。它真正的优势在于提供了合适的URL编码,包括<c:param>中指定的参数。

语法格式:

<c:url
  var="代表URL的变量名"
  scope="var属性的作用域"
  value="基础URL"
  context="本地网络应用程序的名称"/>

举例:

<body>
<a href="<c:url 
value="http://www.baidu.com"/>">URL</a>
</body>

打开页面显示URL ,点击URL可以跳转到百度。

十、<c:param>标签

  <c:param>标签用于在<c:url>标签中指定参数,而且与URL编码相关。 在<c:param>标签内,name属性表明参数的名称,value属性表明参数的值。

语法格式:

<c:param name="URL中要设置的参数的名称" value="参数的值"/>

 举例:

 如果想要向<c:import>标签中传递参数,需要先使用<c:url>标签来创建URL:

<body>
    <c:url var="myURL" value="main.jsp">
        <c:param name="name" value="baidu"/>
        <c:param name="url" value="www.baidu.com"/>
    </c:url>
      <a href="<c:out value="${myURL}"/>">使用 &lt;c:param&gt; 为指定URL发送两个参数。</a>
</body>

 输出显示:

    

查看该页面源代码可以发现原来代码中的<a href="<c:out value="${myURL}"/>">变成了<a href="main.jsp?name=baidu&amp;url=www.baidu.com">,即向main.jsp页面传了两个参数。

十一、<c:redirect>标签

  <c:redirect>标签通过自动重写URL来将浏览器重定向至一个新的URL,它提供内容相关的URL,并且支持c:param标签。

语法格式:

<c:redirect url="目标URL" context="紧接着一个本地网络应用程序的名称"/>

 举例:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>   
    <title>c:redirect 标签举例</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">
  </head>
<body>
<c:redirect url="http://www.baidu.com"></c:redirect>
</body>
</html>

运行显示:打开该页面,直接跳转到百度首页

原文地址:https://www.cnblogs.com/hyyq/p/6126199.html