JSTL学习笔记

JSTL(Jsp Standard Tags Library)是jsp的标准标签库。主要包括5大类:core,sql,function,xml,I18N.

今天主要学习了core。

 

core标签主要有4类

一 表达类,有out,set,remove,catch

    1.<c:out>

    语法如下: (1)不含本体<c:out value="",[escapeXml=true|false],[default=""] />

                  (2)含本体<c:out default="" />hello</c:out>

   value表示要显示出来的值,可以是常量或变量(EL),default为默认值,如果value为null,则显示default的值,escapeXml代表是否转换特殊字符(如<变成&lt;),默认为true;

    2<c:set>

     语法:(1)不含本体:<c:set value="value" var="varName" [scope="{page|request|session|application}"] />

            (2)含本体:<c:set var="varName" [scope="{page|request|session|application}"] >hello</c:set>

    它表达的是把value的值(没有value就是本体的值)存入varName变量中,scope指定varName变量存储在哪里,默认为page.

     set还可以指定target和property,将value值存入target对象的property.[注]var和scope不能用EL表示。

     当value为null值,相当于remove,即把变量值置空。

     例子:<c:set var="num" value="2" scope="session"/> 把2赋给num变量,存入session中。

            <c:set var="str" >hello world</c:set> 把hello world赋给str,存入page中。

   3.<c:remove>

    语法:<c:remove var="varName" [scope="{page|request|session|application}"]  />

       var表示要清除的变量,scope表示变量的范围。

   4.<c:catch>

     语法:<c:catch [var="varName"] />

     var用来保存错误信息的变量。<c:catch>本体中包含可能发生异常的代码

     例子:<c:catch var="errMsg">

            <%

               String str = "hello";

               int i = Integer.parseInt(str);           

            %>

           <c:/catch>

          ${errMsg}

     将打出类型转换错误的异常信息。

 二 流程控制类

     1. <c:if>

        语法: <c:if test="condition" var="varName" [scope="{page|request|session|application}"]  />

        test表条件判断,结果为true或false,var变量保存test的值,scope如前。

        当test为true时,将执行本体的内容。

      2 <c:choose>

        <c:choose>本身只能做父标签,可包含1个或多个<c:when>,0个或多个<c:otherwise>

      3 <c:when> <c:otherwise>

        语法:<c:when test="condition" >body</c:when> test结果为true执行本体内容。

               <c:otherwise>body</otherwise>

        <c:when>必须在<c:otherwise>之前,当多个<c:when>时,当某个<c:when>满足时,将不再往下执行。

       例子:

          <c:choose>

            <c:when test="${con1}">

               condition1

            </c:when>

            <c:when test="${con2}">

               condition2

            </c:when>

            <c:otherwise>

               other condition

            </c:otherwise>

          </c:choose>

          当con1为true,执行condition1,当con2为true,执行condition2,当con1和con2都为true,只执行condition1.如果2者都为false,则执行other condition.

  三 迭代类

      1 <c:forEach>

          语法:<c:forEach [var="varName"]  items="collection" [varStatus="statusName"] [begin="begin"] [end="end"]

                    [step="step"] >body</c:forEach>

         var用于存放现在指到的变量,items存放集合或字符串,varStatus用于存放当前知道的变量的状态(它包含4个值:index表当前索引,first表是否为首项,last表是否为末项,count表总共指到的项目数),begin表循环开始位置,end表循环结束位置,step表循环节奏,默认为1。

      2 <c:forTokens>

      语法:<c:forTokens items="stringOfTokens" delims="delemiters" [var="varName"]  items="collection" [varStatus="statusName"] [begin="begin"] [end="end"] [step="step"] > body</c:forTokens>

       <c:forTokens>用来对string进行操作,除了delims其他都和<c:forEach>相同,delims表示分割符,可以是多个(如"|,;",有3个)

    例子:

      <c:forTokens items="A,B;C-D,E" delims=",;-" var="item">${item}</c:forTokens>

     输出ABCDE

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值