JSTL核心标签库

JSTL标签库分为5类,分别是JSTL核心标签库、数据库标签库、i18格式化标签库、XML标签库、JSTL函数标签库。

(一)JSTL核心标签库

        在JSP页面中要使用此标签库,必须使用<%@ taglib %>指令来指定。如下:

         <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

//与变量相关的

1.<c:set>标签   定义变量且可将变量存储在JSP范围中或者JavaBean属性中。
    (1)指定变量名及变量值,不指定变量scope
       <c:set var="变量名" value="变量值"></c:set>
    (2)指定变量名,变量值以及变量的存储范围scope
       <c:set var="变量名" value="变量值" scope="page|request|session|application"></c:set>
    (3)指定变量名以及本体内容中的数据的存储范围scope
       <c:set var="变量名" scope="page|request|session|application">本体内容</c:set>
    (4)将value值存储到target对象的属性中
       <c:set value="值" target="target对象" property="propertyName"></c:set>
    (5)将本体内容的数据存储到target对象的属性中
       <c:set target="target对象" property="属性名">本体内容</c:set>
  2.<c:out>标签   作用:显示数据的内容,类似于<%=%>。使用<c:out>输出内容比使用Scriptlets代码简单,易维护。
    (1)输出value属性指定的内容
       <c:out value="属性值"/>
    (2)escapeXml属性设置是否将value中的内容原样输出
       注:<c:out>默认会将<、>、’、”&转化成&lt;&gt;&#039;&#034和&amp。因此如果不想进行这种转化就可通过设置escapeXml属性为"false"即可.
       <c:out value="属性值" escapeXml="true|false"/>
    (3)通过defalult属性设置默认值 注:如果value属性值为null,那么就显示default的值。
       <c:out value="属性值" default="默认值"/>
    (4)通过本体内容来设定默认值。
       <c:out value="属性值" escapeXml="true|false">本体内容</c:out>
  3.<c:remove>标签   作用:移除指定范围的变量,语法格式为:
    
    <c:remove var="变量名" scope="page|request|session|application"/>
    var属性指定待删除的变量的名称,scope属性是可选的,用来指定待删除变量所在的范围,默认为page


//程序流程控制


  4.<c:if>标签    作用:控制执行流程
    有两种语法格式:
    (1)没有本体内容的<c:if标签,格式如下:
      <c:if test="testCondition" var="变量名" [scope="同上"]/>
      test属性值为进行判断的表达式,属性var定义的变量来存放判断结果,scope为var所定义的变量的存储范围。
    (2)有本体内容的<c:if>标签,格式如下:
      <c:if test="testCondition" var="变量名" [scope="同上"]>本体内容</if>
      test中判断的结果为true时,会执行本体内容,false就不执行。
  5.<c:choose>、<c:when>、<c:otherwise>标签
    由于<c:if>标签只能判断一个表达式,并指定当表达式成立时,有执行的内容,而无法指定不成立时应做的反应。
    所以JSTL提供了类似if else 的标签<c:chooose>,语法格式如下:
    <c:choose>
         ...
         <c:when test="判断条件">
          ....
         </c:when>
         ...
         <c:otherwise>
          .....
         </c:otherwise>
    </c:choose>                 
  6.<c:forEach>标签
    有两种语法格式:
    一种用来遍历集合对象,另一种用来使语句执行指定的次数。
    (1)<c:forEach>遍历集合对象,语法格式为:
      <c:forEach  [var="变量名" items="集合对象" varStatus="变量名" begin="开始位置int" end="结束位置" step="步长"]>
       本地内容
      </c:forEach>
      var用来存放当前指到的成员 items指被迭代的集合对象 varStatus存放当前指到的成员的信息 step默认为1
    (2)<c:forEach>指定语句执行次数,语法格式为:
       <c:forEach [var="变量名" varStatus="变量名" begin="起始位置" end="结束位置" step="步长"]>
       本地内容
       </c:forEach>
     注:begin必须大于0  end必大于begin  step必大于等于0
  7.<c:forTokens>标签  作用:根据指定分隔符分割字符串,语法格式为:
    <c:forTokens [var="变量名" items="待分割的字符串" delims="指定分隔符(可多个)" varStatus="变量名" begin="起始位置" end="结束位置" step="步长"]>
     本地内容
    </c:forTokens>
    属性意义同上
  8.<c:import>标签(这个还是百度一下的好)
    作用:把静态或动态的文件包含到当前JSP页面中
    注:与<jsp:include>的区别是:<jsp:include>只能包含同在一个Web application下的文件,而<c:import>还可以包含其他Web application下的文件
    <c:import
         url="待包含文件URL"
         [context="context"] //同一Web容器下,其他Web站点必以"/"开头
         [var="变量名"]      //存储被包含文件的内容(以String类型存入)
         [scope="同上"]      //属性var指定变量的存储范围
         [charEncoding="被包含文件的编码格式"]  
         >本体内容
    </c:import>
    或
    <c:import
         url="待包含文件URL"
         [context="context"] //同一Web容器下,其他Web站点必以"/"开头
         [varReader="变量名"]      //存储被包含文件的内容(以Reader类型存入)
         [scope="同上"]      //属性var指定变量的存储范围
         [charEncoding="被包含文件的编码格式"]  
         >本体内容
    </c:import>
  9.<c:param>标签  作用:传递参数;语法格式为:
    <c:param  name="参数名" value="参数值"/>
    可在<c:import>标签的本体内容中使用<c:param>来向被包含文件传递参数。
  10.<c:redirect>标签  作用:从一个JSP页面跳转到其他页面
     两种语法格式:
     (1)<c:redirect url="url"/>
     (2)<c:redirect url="url">
            <c:param>

        </c:redirect>


猜你喜欢

转载自blog.csdn.net/shizhudufou/article/details/80733150