• 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>

    这将产生如下所示结果:

  • 相关阅读:
    我的有道难题算法-双倍超立方数
    终于获取了SharePoint.OpenDocument对象打开的Word对象
    Eclipse下的项目管理插件介绍
    初识 sqlite 与 content provider 学习笔记
    android 官方文档中的一些错误收集
    android TraceView (图形化性能测试工具)使用入门笔记
    Texttospeech 入门与进阶学习笔记(android)
    Intent进阶 和 Intentfilter 学习笔记
    android UI设计属性中英对照表(未修订)
    android学习笔记7天打造一个简易网络Mp3播放器
  • 原文地址:https://www.cnblogs.com/EasonJim/p/6958979.html
Copyright © 2020-2023  润新知