zoukankan      html  css  js  c++  java
  • 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>

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

  • 相关阅读:
    Ubuntu16.04下同时安装Anaconda2与Anaconda3
    ansible 常用模块
    docker 笔记 (7) 限制容器
    linux 磁盘
    docker 笔记 (6)搭建本地registry
    docker 笔记 (5)常用命令
    docker 笔记(4) Dockerfile 常用的指令
    NGINX下配置CACHE-CONTROL
    mysql二进制安装
    [Selenium] Explicit wait 方法
  • 原文地址:https://www.cnblogs.com/hyyq/p/6126199.html
Copyright © 2011-2022 走看看