Servet-------JSTL标签库

JSTL标签库  也可以和EL表达式配合使用

    作用:

        提高在Jsp中的逻辑代码的编写效率,使用标签。。(对EL表达式的扩展)

      使用:

      JSTL的核心标签库(重点)

      JSTL的SQL标签库

      JSTL的函数标签库

      JSTL的XML标签库

    JSTL的核心标签库:

       1、导入jar包

       2、声明jstl标签库的引入(核心标签库)

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

        3、内容:

          基本 

            <c:out value="数据" default="默认值"></c:out>

              数据可以为常量值也可以是EL表达式

              作用:将数据输出给客户端

            <c:set var="hello" value="hello  pageContext" scope="page"></c:set>

               作用:存储数据到作用域对象中

              var:表示存储的键名

              value:表示存储的数据

              scope:指定存储的作用域对象  (page request session application)

            <c:remove  var="hello" scope="page" />

              作用:删除存储在作用域中的数据

                var:表示要删除的键名

                scope:表示指定删除作用域中的数据

                 注意:

                   如果在不指定作用域的情况使用该标签删除数据,会将四个作用域对象中的符合条件的数据都删除。。。

              逻辑标签:

                  <c:if  test="${表达式}">

                    前端代码

                  </c:if>

                    作用:进行逻辑判断,相当于java代码的单分支判断

                    注意:

                       逻辑判断标签需要依赖于EL的逻辑运算,也就是表达式中涉及到的数据必须从作用域中获取。。。

                  <c:choose>

                      <c:when   test=" ${表达式}"> 执行内容</c:when>

                       <c:when   test=" ${表达式}"> 执行内容</c:when>

                      .........

                      <c:otherwise> 执行内容</c:otherwise>

                  </c:choose>

                    作用:用来进行多条件的逻辑判断,类似java中的多分支语句

                    注意:

                       条件成立只会执行一次,都不成立则执行otherwise  

                 循环标签:

                    <c:forEach begin="1" end="4" step="2">

                         循环体             

                    </c:forEach>

                    作用:

                      循环内容进行处理

                   使用:

                      begin:声明循环开始位置

                      end:声明循环结束位置

                      step:设置步长

                      varStatus:声明变量记录每次循环的数据 (角标,次数,是否是第一次循环,是否最后一次循环) 适合常量循环

                         注意:数据存储在作用域中,需要使用EL表达式获取

                            例:${vs.index}---${vs.count}---${vs.first}---${vs.last}。。。

                            例:<c:forEach begin="0" end="4" step="2" varStatus="vs">
                                  天使------${vs.index}---${vs.count}---${vs.first}---${vs.last}<br/>
                                </c:forEach>

                      items:声明要遍历的对象。结合EL表达式获取对象                    适合动态循环

                      var:声明变量记录每次循环的结果。存储的作用域中,需要使用EL表达式获取

                         例:<!-- 动态循环 -->
                             <c:forEach items="${list}" var="str">  
                                  ${str}<br/>
                             </c:forEach>

                           <c:forEach items="${map}" var="m">

                             ${m.key}----${m.value}

                           </c:forEach>

                          

好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
原文地址:https://www.cnblogs.com/axu521/p/10025806.html