JSTL与EL表达式

EL表达式:
  基本用法:${表达式}  示例:${student.name}

  作用域对象:EL表达式内置四种作用域对象
  pageScope:从当前页面取值
  requestScope:从当前请求中获取属性值
  sessionScope:从当前会话中获取属性值
  applicationScope:从当前应用获取全局属性值

  EL表达式输出:
  ${title} ${requestScope.student.name} ${emp.age+10} ${1<=3 && 2>4}(返回boolean值)

  El输出参数值:
   EL表达式内置param对象来简化参数的输出  ${param.参数名}
  
JSTL标签库:
  作用域对象描述:
    taglibs-standard-spec-1.2.5.jar 标签库定义包(必须)
    taglibs-standard-impl-1.2.5.jar 标签库实现包(必须)
    taglibs-standard-jstlel-1.2.5.jar el表达式支持包(备选)
    taglibs-standard-compat-1.2.5.jar 1.0版本兼容包(备选)

  安装JSTL标签库:
    将Jar文件复制到工程的 /WEB-INF/lib 目录

  JSTL的标签库种类 共5种
    核心标签库 - core
    格式化输出标签库 - fmt
    SQL操作标签库 - sql
    XML操作标签库 - xml
    函数标签库 - functions

  引用JSTL核心库
    核心标签库(Core)是JSTL最重要的标签库,提供了JSTL的基础功能
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    JSTL核心标签库在taglibs-standard-impl.jar由META-INF/c.tld定义

  判断标签
    <c:if> - 单分支判断
    <c:choose>、<c:when>、<c:otherwise> - 多分支判断

  遍历集合
    <c:forEach>标签用于遍历集合(Collection)中的每一个对象

   <c:set var="tag" value="${0}"/>
<c:forEach var="p" items="${persons}" varStatus = "idx">
    <c:if test="...">
      <c:set var="tag" value="${tag+1}"/> 第${idx.index
+ 1}位 <br/> 姓名:${p.name} 性别: ${p.sex} 年龄:${p.age}
      ${tag}:可得到 第几次满足if条件
    </c:if>
</c:forEach> fmt格式化标签库 fmt格式化标签库 URI:http://java.sun.com/jsp/jstl/fmt <fmt:formatDate value = "" pattern = "" /> 格式化日期标签 <fmt:formatNumber value = "" pattern = ""/> 格式化数字标签 格式化小数 到需要的长度 <fmt:formatNumber type="number" value="${类名.属性}" pattern="0.00" maxFractionDigits="2"/> pattern:设置格式化标准 长度不够用0补 设置为空时则根据maxFractionDigits值进行截取后 不够的不补0 fn:substring() fn:substring()函数返回字符串中指定开始和结束索引的子串。 ${fn:substring(<string>, <beginIndex>, <endIndex>)} 其他方法:https://www.runoob.com/jsp/jsp-jstl.html
原文地址:https://www.cnblogs.com/ljc1212/p/13534947.html