2021-03-04-jstl标签库总结

是什么

  • JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL)
  • JSTL是标签语言,使用起来非常方便,它与JSP动作标签一样
  • JSTL它不是jsp的内置标签,所以要我们自己导包

为什么会出现

  • JSP里面嵌套了太多Java代码,不方便维护

怎么用

  • 导入jstl的jar包
  • 使用taglib指令导入标签库

核心标签库

  • core
最核心的一个标签库,也是最常用的,重点掌握
导入标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
  • fmt
格式化标签库,可以用来格式化时间和数字
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
  • fn
提供了大量的函数,可以求出集合的长度等等
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

fn

  • ${fn:length(list)}:获取list的长度

fmt

标签 说明 属性
<fmt:formatDate value="${date}" pattern=“yyyy-MM-dd”/> 格式化时间,把Date类型的时间格式化成字符串类型 pattern="yyyy-MM-dd"格式化参数
<fmt:formatNumber value=“123.33333” maxFractionDigits=“3”/> 格式化数字,小数点后保留3位 pattern=#.##

core

标签 说明
<c:out value=”${name}” default=”默认值”/>
<c:out value=”admin” default=”默认值”/> 当value值为空时,输出默认值
<c:set var=”a” value=”hello” scope=”session”/> 在session中添加name为a,value为hello的数据。
<c:remove var=“a” scope=”page”/> 删除pageContext中name为a的数据
<c:url value="/"/> 输出上下文路径:/项目名/
<c:url value="/" var=“a” scope=“request”/> 把本该输出的结果赋给变量a。范围为request
<c:url value="/abc" var=“name” scope=“request”><c:param name=“username” value=“123”></c:param><c:param name=“password” value=“abc”></c:param></c:url> 输出:/项目名/abc?username=123&password=abc如果参数中包含中文,那么会自动使用URL编码!
<c:if test="${a==3}">a==3</c:if> if标签的test属性必须是一个boolean类型的值,如果test的值为true,那么执行if标签的内容,否则不执行
<choose> choose标签对应Java中的switch语句,。when标签的test为true时,会执行这个when的内容。当所有when标签的test都为false时,才会执行otherwise标签的内容
<c:forEach> 循环遍历集合和map

猜你喜欢

转载自blog.csdn.net/qq_41270550/article/details/113845031