• 12.标准标签库(JSTL)


    1.JSTL标签库安装

        JSTL的概念:  

    JSP标准标签库(JSP Standard Tag Library)是一个实现 Web 应用程序中常见的通用功能的定制标记库集
    功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问
    JSTL标签库由几个子标签库组成,主要分为以下几种:核心标签、XML标签、格式化标签(I18N)、SQL标签、函数标签库。

         JSTL的安装:

    将jstl.jar、standard.jar放在WEB-INF/lib目录下
    jstl.jar提供了标签开发接口类
    standard.jar 提供了标签库的实现类
    在JSP中使用taglib伪指令导入JSTL标签库
    <%@taglib prefix=“c” uri=“http://java.sun.com/jstl/core”%>导入JSTL核心标签库
    通过<c:XXX>可以使用JSTL核心标签库标签

         标签库集:

    JSTL

    前置名

    URI

    示例

    核心

    标签库

    c

    http://java.sun.com/jsp/jstl/core

    <c:out>

    I18N格式标签库

    fmt

    http://java.sun.com/jsp/jstl/fmt

    <fmt:formatDate>

    SQL

    标签库

    sql

    http://java.sun.com/jsp/jstl/sql

    <sql:query>

    XML标签库

    xml

    http://java.sun.com/jsp/jstl/xml

    <x:forEach>

    函数

    标签库

    fn

    http://java.sun.com/jsp/jstl/functions

    ${fn:split()}

           JSTL核心标签库

    标签

    描述

    <c:catch>

    捕获异常

    <c:out>

    打印输出

    <c:set>

    设置变量值

    <c:remove>

    删除变量

    <c:if>

    条件判断

    <c:choose>

    <c:forEach>

    循环控制

    <c:forToken>

    <c:url>

    重写URL地址

    <c:import>

    导入资源

    <c:redirect>

    重定向请求

    2.一般用途的JSTL标签:

    <c:catch>捕获JSP页面抛出的异常
    例<c:catch var=“e”> action that might throw an exception</c:catch>
    <c:out>打印输出内容到页面
    类似JSP表达式
    属性value包含特殊字符,使用转义字符
    属性name变量没有初始化,使用default属性指定默认值

    3.属性用途的JSTL标签

    尽管EL可以灵活地操作变量,但不能声明或删除变量
    <c:set>标签设置变量值或对象的属性值
    <c:set var=“num” value=“${4*4}” />
    <c:set target=“user”property=“userName”>${“susan”}</c:set>
    <c:remove>用于从指定作用域内删除变量
    <c:remove var=“num”scope=“session”/>

    4.控制用途的JSTL标签

    (1)<c:if>与java语言的if语句最大的不同是没有else语句对应标签

    <c:if test=“${x==9}”>${x}</c:if>

    (2)<c:choose>类似Java的switch-case语句。

    该标签只当做<c:when>和<c:otherwise>的父标签

    (3)<c:forEach>和<c:forTokens>类似于Java的for语句

    <c:forEach>使用begin、end、step属性指定循环次数
    对于集合和字符串使用items属性指定循环对象
    <c:forEach>提供varStatus属性,用来存放现在指到的成员的信息。另外四个属性:
    index:现在指到成员的索引
    count:总共指到成员的总数
    first:现在指到的成员是否为第一个成员
    last:现在指到的成员是否为最后一个成员

    5.其他种类的标签

    处理与URL相关的标签
    <c:url>用来产生一个URL,“/”表示上下文路径
    <c:import>可以把其他静态或动态文件包含至本身JSP页面。与JSP动作<jsp:include>的不同在于<c:import>可以包含位于Web程序之外的资源
    <c:redirect>用于把客户请求重定向到另一个资源

    标签

    描述

    <fmt:formatNumber>

    使用指定的格式或精度格式化数字

    <fmt:parseNumber>

    解析一个代表着数字,货币或百分比的字符串

    <fmt:formatDate>

    使用指定的风格或模式格式化日期和时间

    <fmt:parseDate>

    解析一个代表着日期或时间的字符串

    <fmt:bundle>

    绑定资源

    <fmt:setLocale>

    指定地区

    <fmt:setBundle>

    绑定资源

    <fmt:timeZone>

    指定时区

    <fmt:setTimeZone>

    指定时区

    <fmt:message>

    显示资源配置文件信息

    <fmt:requestEncoding>

    设置request的字符编码

         

           SQL标签:

    JSTL SQL标签库提供了与关系型数据库(Oracle,MySQL,SQL Server等等)进行交互的标签。引用SQL标签库的语法如下:
    <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>

    标签

    描述

    <sql:setDataSource>

    指定数据源

    <sql:query>

    运行SQL查询语句

    <sql:update>

    运行SQL更新语句

    <sql:param>

    将SQL语句中的参数设为指定值

    <sql:dateParam>

    将SQL语句中的日期参数设为指定的java.util.Date 对象值

    <sql:transaction>

    在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行

    XML标签:

    JSTL XML标签库提供了创建和操作XML文档的标签。引用XML标签库的语法如下:
    <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
    在使用xml标签前,还需要导入XercesImpl.jar和xalan.jar库
    http://www.apache.org/dist/xerces/j/
    http://xml.apache.org/xalan-j/index.html

    标签

    描述

    <x:out>

    与<%= ... >,类似,不过只用于XPath表达式

    <x:parse>

    解析 XML 数据

    <x:set>

    设置XPath表达式

    <x:if>

    判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体

    <x:forEach>

    迭代XML文档中的节点

    <x:choose>

    <x:when>和<x:otherwise>的父标签

    <x:when>

    <x:choose>的子标签,用来进行条件判断

    <x:otherwise>

    <x:choose>的子标签,当<x:when>判断为false时被执行

    <x:transform>

    将XSL转换应用在XML文档中

    <x:param>

    与<x:transform>共同使用,用于设置XSL样式表

    JSTL函数:

    JSTL包含一系列标准函数,大部分是通用的字符串处理函数。引用JSTL函数库的语法如下:
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

    标签

    描述

    fn:contains()

    测试输入的字符串是否包含指定的子串

    fn:containsIgnoreCase()

    测试输入的字符串是否包含指定的子串,大小写不敏感

    fn:endsWith()

    测试输入的字符串是否以指定的后缀结尾

    fn:escapeXml()

    跳过可以作为XML标记的字符

    fn:indexOf()

    返回指定字符串在输入字符串中出现的位置

    fn:join()

    将数组中的元素合成一个字符串然后输出

    fn:length()

    返回字符串长度

    fn:replace()

    将输入字符串中指定的位置替换为指定的字符串然后返回

    fn:split()

    将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回

     
  • 相关阅读:
    MySQL连接数过多登录不上
    Linux中盘符的两种挂载方法
    Linux杀毒软件ClamAV初次体验
    VS2013开发asmx接口根据ID查询对象
    VS2013开发asmx接口返回一个自定义XML
    VS2013开发一个简单的asmx接口程序
    Java编译过程(传送门)
    凡人和神学习和使用软件的七个层次
    CentOS7 限制SSH密码尝试次数
    马云是如何招聘到多隆这样的牛人的?(转)
  • 原文地址:https://www.cnblogs.com/Firesun/p/9707856.html
Copyright © 2020-2023  润新知