zoukankan      html  css  js  c++  java
  • JSTL常用标签汇总

    JSTL常用标签汇总
    JSTL的核心标签库主要包括:表达式操作、流程控制、迭代操作和URL操作。
    以下是JSTL常用标签的用法总结:
    一、表达式操作
    1.<c:out>
    作用:用于显示数据的内容。
    语法1:没有本体内容
     <c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"] />
    语法2:有本体内容
     <c:out value="value" [escapeXml="{true|false}"]>
      default value
     </c:out>
    属性说明:
     value:需要显示出来的值。
     default:如果value的值为null时,则显示default指定的值。
     escapeXml:是否转换特殊字符,默认为true。即默认会将<、>、’、” 和 & 转换为 &lt;、&gt;、&#039;、&#034和&amp。如果设为      false,则不进行转换。
    2.<c:set>
    作用:用于将变量的值存储在JSP范围中或JavaBean的属性中。
    语法1:将value的值存储在范围为scope的varName变量中
     <c:set value="value" var="varName" [scope="{page|request|session|application}"] />
    语法2:将本体内容的数据存储在范围为scope的varName变量中
     <c:set var="varName"  [scope="{page|request|session|application}"] >
     ...本体内容
     </c:set>
    语法3:将value的值存储在target对象的propertyName属性中
     <c:set value="value" target="target" property="propertyName" />
    语法4:将本体内容的数据存储在target对象的propertyName属性中
     <c:set target="target" property="propertyName">
     ...本体内容
     </c:set>
    属性说明:
     value:要被存储的值。
     var:欲存入的变量名称。
     scope:var变量的JSP范围。默认为page范围。
     target:为一JavaBean或Map对象。
     property:指定的target对象的属性。
    3.<c:remove>
    作用:移除变量。
    语法:<c:remove var="varName" [scope="{page|request|session|application}"] />
    属性说明:
     var:要移除的变量。
     scope:var变量所在的JSP范围,默认为page范围。
    4.<c:catch>
    作用:用于处理产生错误的异常情况,并将错误信息存储起来。
    语法: <c:catch [var="varName"] >
     ...欲抓取错误的部分
     </c:catch>
    属性说明:
     var:将错误信息存储在指定的变量中,可以通过该变量获取错误信息。
    二、流程控制
    1.<c:if>
    作用:类似if判断语句,用于表达式判断。
    语法1:没有本体内容
     <c:if test="testCondition" var="varName" [scope="{page|request|session|application}"] />
    语法2:有本体内容
     <c:if test="testCondition" [var="varName"] [scope="{page|request|session|application}"] />
     ...本体内容
     </c:if>
    属性说明:
     test:当该属性中的表达式运算结果为true,则会执行本体内容,为false则不执行,该标签必须要有test属性。
     var:存储test的运算结果,为true或false。
     scope:var变量的JSP范围。
    2.<c:choose>、<c:when>、<c:otherwise>
    作用:这三个标签必须组合使用,用于流程控制。
    范例:
    <c:choose> 
    <c:when test="${condition1}"> 
    condition1为true 
    </c:when> 
    <c:when test="${ condition2}"> 
    condition2为true 
    </c:when> 
    <c:otherwise> 
    condition1和condition2都为false 
    </c:otherwise>
    </c:choose>  
    范例说明:当condition1为true时,会显示“condition1为true”;当condition1为false且condition2为true时,会显示“condition2为true”,如果两者都为false,则会显示“condition1和condition2都为false”。
    注意:若condition1和condition2的运算结果都为true时,此时只会显示"condition1为true"。
    限制说明:
     a.<c:when>和<c:otherwise>标签必须在<c:choose>和</c:choose>之间使用。
     b.在同一个<c:choose>中,<c:otherwise>必须是最后一个标签,且只能有一个<c:otherwise>标签。<c:when>可以有多个。
     c.在同一个<c:choose>中,当所有<c:when>的test都为false时,才执行<c:otherwise>的本体内容。
    三、迭代操作
    1.<c:forEach>
    作用:为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行<c:forEach>的本体内容。
    语法1:迭代一个集合对象中的所有成员
     <c:forEach items="collection" [var="varName"] [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"] />
     ...本体内容
     </c:forEach>
    语法2:迭代指定次数
     <c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end" [step="step"]> 
     ...本体内容
     </c:forEach> 
    属性说明:
     items:被迭代的集合对象。
     var:存放当前指到的集合对象中的成员。
     varStatus:存放当前指到的成员的相关信息。(index:当前指到的成员的索引;count:当前总共指到成员的总数;first:当前指到的成员     是否为第一个成员;last:当前指到的成员是否为最后一个成员)。
     begin:迭代开始的位置,默认为0。
     end:迭代结束的位置,默认为最后。
     step:每次迭代的间隔数,默认为1。
    范例:
    <% 
    int atts[] = {1,2,3,4,5,6,7,8,9,10}; 
    request.setAttribute("atts", atts); 
    %> 
    <c:forEach items="${atts}" var="item" begin="0" end="9" step="1" > 
    ${item}</br> 
    </c:forEach>  
    此标签也可以用于普通的循环控制,与for循环一样。如:
    <c:forEach begin="1" end="10" var="item" > 
    ${item}</br> 
    </c:forEach>   
    2.<c:forTokens>
    作用:用指定分隔符分隔一字符串,并迭代分隔后的数组。
    语法: <c:forTokens items="stringOfTokens" delims="delimiters" [var="varName"] [varStatus="varStatusName"] [begin="begin"]    [end="end"] [step="step"] >
      本体内容
     </c:forTokens>
    属性说明:
     items:被分隔并迭代的字符串。
     delims:用来分隔字符串的字符。
     var:存放当前指到的成员。
     varStatus:存放当前指到的成员的相关信息。(index:当前指到的成员的索引;count:当前总共指到成员的总数;first:当前指到的成员     是否为第一个成员;last:当前指到的成员是否为最后一个成员)。
     begin:迭代开始的位置,默认为0。
     end:迭代结束的位置,默认为最后。
     step:每次迭代的间隔数,默认为1。
    范例1:
    <c:forTokens items="A,B,C,D,E" delims="," var="item" > 
    ${item} 
    </c:forTokens>  
    用“,”号分隔字符串,并迭代输出分隔后的字符串数组,输出结果为“ABCDE”。
    范例2:
    <c:forTokens items="A,B;C-D,E" delims=",;-" var="item" > 
    ${item}
    </c:forTokens>   
    delims中指定了三个分隔符“,”、“;”和“-”,可见我们一次可以设定所有想当做分隔字符串用的字符。输出结果依然为“ABCDE”。
    四、URL操作
    1.<c:import>
    作用:将其他静态或动态文件包含到本身JSP网页中。不但可以包含同一个web application下的文件,还可以包含其他web application或其他网站的文件。
    语法: <c:import url="url" [var="varName"] [scope="{page|request|session|application}"] >
      [<c:param name="paramName" value="paramValue"/>]
     </c:import>
    属性说明:
     url:要包含至本身JSP网页的其他文件的URL。必选
     var:将包含进来的其他文件以字符串的形式存放到指定的变量中。可选
     scope:var变量的作用范围。可选
     <c:param>:可选子标签,用于向包含进来的其他网页文件传递参数。
    范例:
    <c:import url="http://java.sun.com" > 
    <c:param name="test" value="1234" />                          
    </c:import>  
    说明:当<c:import>标签中未指定var变量时,会直接将包含进来的其他网页文件内容显示出来,如果指定了var变量,则会将内容存放到var变量中,不显示。
    2.<c:url>
    作用:生成一个URL。
    语法: <c:url value="url" [context="expression"] [var="name"] [scope="scope"]>
      [<c:param name="expression" value="expression"/>]
     </c:url>
    范例1:
    <a href="<c:url value=index.jsp'/>">index page</a>
    在<a>超链接标签中生成一个URL,指向index.jsp。
    范例2:
    <c:url value="index.jsp"> 
      <c:param name="keyword" value="${searchTerm}"/> 
      <c:param name="month" value="02/2003"/> 
    </c:url>
    生成一个URL,并传递参数,生成的结果为index.jsp?keyword=*&month=02/2003,*代表传递的searchTerm的值。
    3.<c:redirect>
    作用:可以将客户端的请求从一个JSP网页导向到其他文件。
    语法: <c:redirect url="url">
      [<param name="paramName" value="paramValue">]
     </c:redirect>
    将请求导向URl指向的其他文件。
  • 相关阅读:
    Experimental Educational Round: VolBIT Formulas Blitz D
    Experimental Educational Round: VolBIT Formulas Blitz C
    windows10 IOT +Azure会议概要总结
    财务报表开发实例分析:几个通用维度介绍与关键点
    eclipse中LogCat有时不显示信息的简单解决办法
    友情提醒:欲开发android5.0以上应用,请全部更新开发工具至最新
    高通、猎户机型Android典型bootloader分析
    Ubuntu 14.04 中安装 VMware10 Tools工具
    Linux内核中的GPIO系统之(3):pin controller driver代码分析
    linux内核中的GPIO系统之(2):pin control subsystem
  • 原文地址:https://www.cnblogs.com/shipeng22022/p/4614125.html
Copyright © 2011-2022 走看看