zoukankan      html  css  js  c++  java
  • JSTL标签库

    1.什么是JSTL?

      JSTL全称为 JSP Standard Tag Library 即JSP标准标签库。它与EL表达式一样,也是为了替换掉JSP中的java代码。它提供了一系列的JSP标签,实现了java的基本功能:集合的遍历、数据的输出、字符串的处理、数据的格式化等等。JSTL可以说是EL的补充、扩展,经常与EL一起使用。

    2.常见子标签库

    核心标签库: 包含 Web 应用的常见工作,比如:循环、表达式赋值、基本输入输出等。(常用)
    格式化标签库:用来格式化显示数据的工作,比如:对不同区域的日期格式化等。
    函数标签库:用来读取已经定义的某个函数。
    XML 标签库:用来访问 XML 文件的工作,这是 JSTL 标签库的一个特点。(基本不用)
    数据库标签库:可以做访问数据库的工作。(基本不用)

     

    3.标签库导入及使用

      1.下载jar包,并导入

      

    2.使用<%@ taglib %>引入标签库,设置uri和prefix的属性值。
      核心标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
      格式化标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
      函数标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
      XML 标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
      数据库标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
      uri和prefix属性的值可以在jstl-impl-1.2.2.jar/META-INF中可以找到。

    3.使用
      语法:<前缀:标签名 属性名=“属性值”>
      注:前缀为引入时的prefix,标签库的前缀是固定的不可自定义。

    4.核心标签库

      1.<c:out>用于把数据输出到 JSP 页面中显示

      

      2.<c:set>将值存储到作用域或为 JavaBean 中的变量属性赋值

      

      3.<c:remove>删除存在于 scope 中的变量

      

      4.c:if 标签:条件判断(单条件,相当于java的if或if-else)

      

      补充:c:if 标签一般用于只有一个条件的情况。
      需要用到类似于if-else结构是可以设定var,如var="result",然后在另一个c:if 标签中的test对对结果进行取反,如test="${!result}


      5.c:choose 、 c:when、 c:otherwise标签:条件判断(多条件,相当于if-else-if)
      例:

       

     1 <c:choose>
     2         <c:when test="${score >=80 }">
     3             优秀
     4         </c:when>
     5         <c:when test="${score >=70 }">
     6             良好
     7         </c:when>
     8         <c:when test="${score >=60 }">
     9             及格
    10         </c:when>
    11         <c:otherwise>
    12             不及格        
    13         </c:otherwise>
    14     </c:choose>

    使用时需要注意以下几点:
      1.c:when必须在c:otherwise之前出现
      2.c:otherwise只能出现一次
      3.c:when和c:when和c:otherwise之前不允许出现其他任何字符

     

    6.c:forEach标签:循环,相当于java的迭代器

    补充:
      begin & end:只能为数字,当没有items属性时,var的值从begin数字循环到end数字;当有items属性时,begin & end就表示下标。
      varStatus的属性:
      first(判断当前循环体是否为第一个)
      last(判断当前循环体是否为最后一个)
      count(当前循环次数)
      index(当前循环体的下标)
      varStatus用法如:
      varStatus="status"
      ${status.first} ${status.last} ${status.count} ${status.index}

    5.格式化标签库

      1.fmt:formatDate:将一个时间对象按指定格式输出
        格式:<fmt:formatDate value=“${ date }”pattern=“yyyy年MM月dd日”/>
      2.fmt:parseDate:将一个字符串按指定格式解析成时间对象
        格式:<fmt:parseDate value="${ds}" var="date" pattern="yyyy/MM/dd HH:mm:ss">

      

    6.函数标签库

    函数标签库,EL函数库、fn标签库。需要在EL表达式中使用。
    如:${fn:length(xxx) }:会到作用域中去找xxx属性,然后输出它的长度,没找到就为0
    fn标签库中的标签与java中的String对象方法基本相同。

  • 相关阅读:
    Leetcode 650
    Leetcode 292
    Leetcode 162
    Leetcode 600
    Leetcode 1894
    知识库
    Win2012R2(英文版)开放远程用户登录数量限制的设置
    Win2012R2(英文版)多账号登录,报错:Select a user to disconnect so that you can sign in的处理
    webstorm修改默认浏览器方法
    处理Chrome等浏览器无法上网,但微信能正常使用问题
  • 原文地址:https://www.cnblogs.com/gaojinshun/p/10882687.html
Copyright © 2011-2022 走看看