Web项目中的JSTL

1.JSTL简介

    JSTL的全称:JSP Standard Tag Library,JSP的标准标签库
    
2.标签库

    core:核心标签库,我们又称它为c标签
    fn:函数标签库,需要结合EL表达式使用,里面定义了一些对字符串的操作
    fmt:格式化标签库,里面定义了对时间、日期、数字的国际化
    
3.核心标签库

    又称它为c标签,使用它需要导入两个jar包
    taglibs-standard-impl-1.2.1.jar          taglibs-standard-spec-1.2.1.jar
    要使用c标签还需要导入核心标签库
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    
    常用的标签
    
    out标签
         <!-- out标签:用来向页面中输出一些内容 -->
         <!-- value属性:用来设置要输出的内容,可以使用EL表达式 -->
         <!-- default属性:用来指定当value属性值中是EL表达式并且无法输出内容时要显示的默认值 -->
         <!-- escapeXml属性:用来设置是否解析xml标签,默认值是true,不解析标签,如果改为false,解析标签 -->
    
         <c:out value="<h1>我要变大</h1>" default="你想输出的内容不存在" escapeXml="false"></c:out>
    
    set标签
         <!-- set标签:用来向域对象中添加属性 ,默认添加到page域中 -->
         <!-- var属性:用来指定向域对象中添加属性的那个属性名 -->
         <!-- value属性:用来指定添加到域对象中的属性值 -->
         <!-- scope属性:用来设置添加到那个域中,可选值有:page,request,session,application -->
         <c:set var="username" value="admin" scope="page"></c:set>
         <c:set var="username" value="admin" scope="request"></c:set>
         <c:set var="username" value="admin" scope="session"></c:set>
         <c:set var="username" value="admin" scope="application"></c:set>
         ${pageScope.username }<br>
         ${requestScope.username }
    
    remove标签
         <!-- remove标签:用来将域对象中的属性移除,默认全域移除 -->
         <!-- scope属性:用来设置要移除那个域中的属性,可选值有:page,request,session,application -->
         <c:remove var="username" scope="page"/>
         ${pageScope.username }<br>
         ${requestScope.username }<br>
         ${sessionScope.username }<br>
         ${applicationScope.username }
    
    if标签
         <!-- if标签:与Java中的if语句类似 -->
         <!-- test属性:接受一个布尔类型的值,如果为true才执行标签体中的内容 -->
         <c:if test="${empty param.username }">
          请输入用户名:
         </c:if>
         <c:if test="${not empty param.username }">
          欢迎您,${param.username }
         </c:if>
    
    choose标签
         <%
          int age = 40;
          request.setAttribute("age", age);
         %>

         <!-- choose标签:与Java中的if..else语句类似 -->
         <!-- 多个when标签只执行一个,所有书写是一定要注意多个when标签的顺序 -->
         <!-- when标签和otherwise标签不能脱离choose标签单独使用 -->
         <c:choose>
          <c:when test="${age > 30 }">
              大龄剩女
          </c:when>
          <c:when test="${age > 20 }">
              青春靓女
          </c:when>
          <c:when test="${age > 14 }">
              花季少女
          </c:when>
          <c:otherwise>
              小屁孩儿
          </c:otherwise>
         </c:choose>
    
    forEach标签
         <!-- forEach标签:与Java中的for循环类似 -->
         <!--
          begin属性:用来指定循环的开始,值不能小于0;end指定循环的结束;
          var属性:设置一个属性值用来接收每次遍历的数,而且每次遍历的数会保存到page域中,var的属性值就是page
          域中的那个属性名
          -->
          <!-- step属性:用来设置循环时的步长,默认值是1 -->
         <c:forEach begin="1" end="10" var="index" step="1">
          <a href="#">${index }</a>
         </c:forEach>

         <%
          List list = new ArrayList();
          list.add("刘涛");
          list.add("蒋欣");
          list.add("王子文");
          list.add("杨紫");
          list.add("王凯");
          request.setAttribute("list", list);
         %>
         <!-- items属性:用来接收要变量的对象,通常是一个List -->
         <c:forEach items="${list }" var="star">
          ${star }
         </c:forEach>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值