JSTL标签简单介绍

  • 什么是JSTL

    • JSTL全名为JSP标准标签库(Standard Tag Library)
    • JSTL 是标准的已制定好的标签库,可以应用于各种领域,如:基本输入输出、流程控制、循环、XML 文件剖析、数据库查询及国际化和文字格式标准化等应用
  • JSTL的优点

    • 可大大减少jsb中脚本代码、弥补EL和标准动作的不足
  • JSTL提供的标签库主要分五类
    在这里插入图片描述

  • JSTL的使用环境

    • 需要导入taglibs-standard-impl-1.2.5.jar包(版本可不同);若还不能正常使用JSTL标签(并提示是包的问题),可再导入jstl.jar包和standard.jar包
    • 在jsp页面添上<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core”%>标签;
  • JSTL的主要标签介绍(以声明核心标签库 core 为例)
    在这里插入图片描述

  • 表达式操作

    • <c:out>功能:主要用来显示数据的内容,如同 <%=表达式 %>
      • value:需要显示出来的值,必须
      • default:如果value的值为null,则显示default的值,default属性不能与标签体同时出现
      • escapeXml:是否转换特性字符,如>转换成 &gt
      • 格式1(无标签体):<c:out value=“value” [escapeXml=“true|false”] [default=“默认值”] />
      • 格式2(有标签体):<c:out value=“value” [escapeXml=“true|false”]>默认值</c:out>
      • 这里标签体的内容同等于default属性的内容
    • <c:set>功能:用来设置各种web域属性或JavaBean、Map对象属性
      • value:要被存储的值
      • var:欲存入的变量名称
      • scope:var变量的jsp范围
      • target:为javabean对象或map对象
      • property:指定target对象的属性
      • 格式1(无标签体): c:set value=“value” target=“对象名” property=“propertyName” />
      • 格式2(有标签体):<c:set target=“对象名” property=“propertyName”>标签体内容</c:set>
      • 这里标签体的内容同等于value属性的内容
    • <c:remove>功能:用于移除某个变量
      • var:要移除的变量名
      • scope:移除变量的所属范围
      • 格式:<c:remove var=“msg” scope=“session” />
    • <c:catch>功能:主要用来捕获异常,并将异常信息储存起来
      • 格式:<c:catch [var=“varName”] >欲捕获异常的部分</c:catch>
    • <c:if> 条件判断
      • test:如果表达式的结果为true,则执行本体内容,否则反之
      • var:用来存储test运算后的结果,即true或false
      • scope:var变量的jsp范围
      • 格式:<c:if test=“测试条件" [var=“varName”][scope=“page|request|session|application”]>具体内容</c:if>
    • <c:choose>、 <c:when> 和 <c:otherwise>功能:多分支判断,与switch语句类似
      • 格式:

        <c:choose>
            <c:when test=“条件表达式”>
                 body
            </c:when>
             <c:when test=“条件表达式”>
                 body
            </c:when>
              ……
           [ <c:otherwise>
                body
              </c:otherwise>]
        </c:choose>
        
    • <c:forEach>功能:用于对一个集合中的元素进行循环迭代操作,或按指定的次数重复迭代执行标签体中的内容
      • var:用来存放现在指定的成员

      • items:被迭代的集合对象

      • varStatus:用来存放现在指到的相关成员信息、

        • index:现在指到的成员索引
        • count:总共指到成员的总数
        • first:现在指到的成员是否为第一个成员
        • last:现在指到的成员是否第一个成员
      • begin:开始的位置

      • end:结束的位置

      • step:每次迭代的间隔数

      • 格式:

        <c:forEach 
        [var=“变量名”]
        items=“集合名”
        [varStatus=“迭代信息状态”] 
        [begin=“起始索引"] 
        [end=“终止索引”] 
        [step=“步长"]>
        	标签体内容
        < /c:forEach>
        
  • <c:forTokens>功能:用来浏览一字符串中所有的成员,其成员是由定义符号(delimiters)所分隔的
    • var:用来存放现在指定的成员
      • items:被迭代的集合对象

      • varStatus:用来存放现在指到的相关成员信息、

        • index:现在指到的成员索引
        • count:总共指到成员的总数
        • first:现在指到的成员是否为第一个成员
        • last:现在指到的成员是否第一个成员
      • begin:开始的位置

      • end:结束的位置

      • step:每次迭代的间隔数

      • delims:定义用来分割字符串的字符

      • 格式

        <c:forTokens items=“迭代对象“ 
        delims=”分隔符"
        [var="varName"]
        [varStatus="varStatusName"]
        [begin="begin"]
        [end="end"]
        [step="step"]>
        	标签体内容
        </c:forTokens>
        

        ##上述内容如若有侵权行为请联系博主进行删除##

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值