zoukankan      html  css  js  c++  java
  • JSTL-核心标签库

    主页:http://www.cnblogs.com/EasonJim/p/6958992.html的分支页。

    一、<c:out>

    <c:out>标签显示表达式的结果,与<%= %>的工作方式类似,但有一点不同是<c:out>标签使用更简单的"." 符号来访问属性。例如,访问customer.address.street只需要使用<c:out value="customer.address.street"/>就可以了。

    <c:out>标签可以自动转义XML标记,所以它们并不像实际标签一样被评估。

    属性:

    <c:out>标签有如下所示属性:

    属性描述是否必需默认值
    value 输出的信息
    default 输出的反馈信息 body
    escapeXml 如果该标签被转义为特殊的XML字符,则为真

    实例:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
    <head>
    <title>Tag Example</title>
    </head>
    <body>
    <c:out value="${'<tag> , &'}"/>
    </body>
    </html>

    这将产生如下所示结果:

    二、<c:set>

    <c:set>标签是setProperty操作的JSTL友好版本。该标签非常有用,因为它计算表达式并使用计算结果来设置JavaBean或java.util.Map对象的值。

    属性:

    <c:set>标签具有如下所示属性:

    属性描述是否必需默认值
    value 保存的信息 主体
    target 属性被修改的变量名称
    property 修改的属性
    var 存储信息的变量名称
    scope 存储信息的变量范围 页面

    如果指定了目标,那么属性也一定被指定。

    实例:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
    <head>
    <title>Tag Example</title>
    </head>
    <body>
    <c:set var="salary" scope="session" value="${2000*2}"/>
    <c:out value="${salary}"/>
    </body>
    </html>

    这将会产生如下所示结果:

    三、<c:remove>

    <c:remove>标签从指定的范围或变量被发现的首个范围中(如果没有指定范围)删除变量。该操作通常并不是特别有用,但是它可以帮助确保JSP清理任何JSP负责的限定作用域资源。

    属性:

    <c:remove>标签具有如下所示属性:

    属性描述是否必需默认值
    var 要删除的变量名称
    scope 要删除的变量范围 全部范围

    实例:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
    <head>
    <title>Tag Example</title>
    </head>
    <body>
    <c:set var="salary" scope="session" value="${2000*2}"/>
    <p>Before Remove Value: <c:out value="${salary}"/></p>
    <c:remove var="salary"/>
    <p>After Remove Value: <c:out value="${salary}"/></p>
    </body>
    </html>

    这将会产生如下所示结果:

    四、<c:catch>

    <c:catch>标签捕获发生在标签主题中的任何异常并有选择地公开它。它仅仅是用于错误处理和更得体地处理这个问题。

    属性:

    <c:catch>标签具有如下所示属性:

    属性描述是否必需默认值
    var 保存java.lang的变量名。如果抛出的Throwable在body元素内。

    实例:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
    <head>
    <title>Tag Example</title>
    </head>
    <body>
    
    <c:catch var="catchException">
       <% int x = 5/0;%>
    </c:catch>
    
    <c:if test="${catchException != null}">
       <p>The exception is : ${catchException} <br />
       There is an exception: ${catchException.message}</p>
    </c:if>
    
    </body>
    </html>

    这将会产生如下所示结果:

    五、<c:if>

    <c:if>标签计算表达式,当且仅当表达式的值为真时,显示其主体内容。

    属性:

    <c:if>标签具有如下所示属性:

    属性描述是否必需默认值
    test 计算的条件
    var 存储条件结果的变量名
    scope 存储条件结果的变量范围 页面

    实例:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
    <head>
    <title>Tag Example</title>
    </head>
    <body>
    <c:set var="salary" scope="session" value="${2000*2}"/>
    <c:if test="${salary > 2000}">
       <p>My salary is: <c:out value="${salary}"/><p>
    </c:if>
    </body>
    </html>

    这将会产生如下所示结果:

    六、<c:choose>,<c:when>,<c:otherwise>

    <c:choose>就像Java switch语句,它可以进行一些选择。正如switch语句有case语句,<c:choose>标签有<c:when>标签。一个switch语句中有default子句来指定一个默认的操作,同样的方式<c:choose>有<c:otherwise>作为默认子句。

    属性:

    • <c:choose>标签没有任何属性。

    • <c:when>标签有一个属性,在下面列出了。

    • <c:otherwise>标签没有任何属性。

    <c:when>标签具有以下属性:

    属性描述是否必需默认值
    test 计算的条件

    实例:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
    <head>
    <title>Tag Example</title>
    </head>
    <body>
    <c:set var="salary" scope="session" value="${2000*2}"/>
    <p>Your salary is : <c:out value="${salary}"/></p>
    <c:choose>
        <c:when test="${salary <= 0}">
           Salary is very low to survive.
        </c:when>
        <c:when test="${salary > 1000}">
            Salary is very good.
        </c:when>
        <c:otherwise>
            No comment sir...
        </c:otherwise>
    </c:choose>
    </body>
    </html>

    这将产生如下所示结果:

    七、<c:import>

    <c:import>标签提供了<include>操作的所有的功能,同时也可以包含绝对URL。

    例如,使用import标签允许包含来自不同的Web站点或FTP服务器的内容。

    属性:

    <c:import>标签具有以下属性:

    属性描述是否必需默认值
    url 检索和导入到页面的URL
    context /紧随其后的是本地的一个Web应用程序的名称 当前应用程序
    charEncoding 为导入数据使用的字符集 ISO-8859-1
    var 存储导入文本的变量名 页面输出
    scope 存储导入文本的变量范围 页面
    varReader 显示java.io.Reader的另一个变量的名称

    实例:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
    <head>
    <title>Tag Example</title>
    </head>
    <body>
    <c:import var="data" url="http://www.baidu.com"/>
    <c:out value="${data}"/>
    </body>
    </html>

    这将产生如下所示结果:

    八、<c:forEach>,<c:forTokens>

    这些标签是通过一个小脚本嵌入Java for,while或do-while循环的不错的选择。<c:forEach>标签更常用的标签,因为它遍历一个对象集合。<c:forTokens>标签用于将一个字符串分成token并遍历每个token。

    属性:

    <c:forEach>标签具有如下所示属性:

    属性描述是否必需默认值
    items 遍历的信息
    begin 开始的元素(0=第一个项目,1=第二个项目,...) 0
    end 结束的元素 (0=第一个项目,1=第二个项目,...) 最后一个元素
    step 处理每一步的元素 1
    var 显示当前项目的变量名
    varStatus 显示循环状态的变量名

    该标签与<c:forTokens>标签具有相同的属性,另外<c:forEach>标签有一个额外的属性delims指定了用作分隔符的符号。

    属性描述是否必需默认值
    delims 用作分隔符的符号

    <c:forEach>的实例:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
    <head>
    <title>Tag Example</title>
    </head>
    <body>
    <c:forEach var="i" begin="1" end="5">
       Item <c:out value="${i}"/><p>
    </c:forEach>
    </body>
    </html>

    这将产生如下所示结果:

    <c:forTokens>的实例:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
    <head>
    <title>Tag Example</title>
    </head>
    <body>
    <c:forTokens items="Zara,nuha,roshy" delims="," var="name">
       <c:out value="${name}"/><p>
    </c:forTokens>
    </body>
    </html>

    这将产生如下所示结果:

    九、<c:param>

    <c:param>标签允许URL指定适当的URL请求参数,且允许任何必要的URL编码要求。

    <c:param>标签内name属性表示参数名称,value属性显示参数值:

    属性:

    <c:param>标签具有如下所示属性:

    属性描述是否必需默认值
    name 在URL中设置的请求参数的名称
    value 在URL中设置的请求参数的值 Body

    实例:

    如果需要传递参数给<c:import>标签,首先使用<c:url>标签来创建 URL,如下所示:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
    <head>
    <title>Tag Example</title>
    </head>
    <body>
    <c:url value="https://www.baidu.com" var="myURL">
       <c:param name="trackingId" value="1234"/>
       <c:param name="reportType" value="summary"/>
    </c:url>
    <c:import url="${myURL}"/>
    </body>
    </html>

    这将产生如下所示结果:

    将以这样的形式访问:https://www.baidu.com?trackingId=1234&reportType=summary

    十、<c:redirect>

    <c:redirect>标签通过提供自动URL重写,将浏览器重定向到另一个URL,它支持上下文相关的URL,支持<c:param>标签。

    属性:

    <c:redirect>标签具有如下所示属性:

    属性描述是否必需默认值
    url 重定向到用户浏览器 URL
    context /紧随其后的是一个本地Web应用程序 当前应用程序

    实例:

    如果需要传递参数到<c:import>标签,首先使用<c:url>标签创建URL,如下所示:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
    <head>
    <title>Tag Example</title>
    </head>
    <body>
    <c:redirect url="http://www.baidu.com"/>
    </body>
    </html>

    上述例子会重定向请求到http://www.baidu.com/

    十一、<c:url>

    <c:url>标签将URL格式化成一个字符串,并将其存储到一个变量中。这个标签在必要时自动执行URL重写。var属性指定将包含格式化的URL的变量。

    JSTL URL标记只是另一种编写调用response.encodeURL()方法的方法。URL标签唯一的真正优势是提供了适当的URL编码,包括由子param标签指定的任何参数。

    属性:

    <c:url>标签具有如下所示属性:

    属性描述是否必需默认值
    value URL
    context /紧随其后的是本地Web应用程序的名称 当前应用程序
    var 显示被处理的URL的变量名 页面输出
    scope 显示被处理的URL的变量范围 页面

    实例:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
    <head>
    <title>Tag Example</title>
    </head>
    <body>
    <a href="<c:url value="/jsp/index.htm"/>">TEST</a>
    </body>
    </html>

    这将产生如下所示结果:

  • 相关阅读:
    Atitit.随时间变色特效 ---包厢管理系统的规划
    Atitit.request http乱码的设计防止 检测与解决最近实践p825 attilax总结.doc
    Atitit.request http乱码的设计防止 检测与解决最近实践p825 attilax总结.doc
    atitit.薄伽梵歌overview  attilax 读后感
    Atitit。 《吠陀》 《梨俱吠陀》overview 经读后感  是印度上古时期一些文献的总称
    Atitit。 《吠陀》 《梨俱吠陀》overview 经读后感  是印度上古时期一些文献的总称
    atitit.薄伽梵歌overview  attilax 读后感
    Atitit 《摩奴法典》overivew 读后感 不是由国王 颁布的,而是 僧侣编制
    Atitit 《摩奴法典》overivew 读后感 不是由国王 颁布的,而是 僧侣编制
    Atitit.执行cli cmd的原理与调试
  • 原文地址:https://www.cnblogs.com/EasonJim/p/6958979.html
Copyright © 2011-2022 走看看