Java学习路线-54: JSTL(标准标签库)

简介: Java学习路线-54: JSTL(标准标签库)

第 9 章 : JSTL(标准标签库)

资料:

JSP 标准标签库(JSTL)


JSTL 是对 EL 表达式的扩展标签语言


pom.xml


<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
<dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
</dependency>

JSTL 四大标签库


core 核心标签库 学习重点

fmt 格式化标签库 只需要学习日期,数字

sql 数据库标签库 过时了

xml xml 标签库 过时了

导入标签库


<% @taglib prefix="前缀" uri="路径" %>

核心标签库 core,c 标签


out 和 set
remove
url
if
choose
forEach

out 输出


<c:out
    value="<string>" 内容
    default="<string>" 默认值
    escapeXml="<true|false>" 转义
    />

示例


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:out value="name" default="Tom" />

set 设置


<c:set
   var="<string>" 变量
   value="<string>" 值
   target="<string>" 对象
   property="<string>" 属性
   scope="<string>" 作用域
   />

remove 删除数据


<c:remove
    var="<string>" 变量名称
    scope="<string>" 作用域
    />

url 将 URL 格式化为一个字符串


<c:url
  var="<string>" 变量名
  scope="<string>" 作用域
  value="<string>" 基础URL
  context="<string>" 本地网络应用程序的名称
/>
<!-- 指定参数 -->
<c:param name="<string>" value="<string>"/>

示例


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:url value="/name" />
<!-- 输出:/demo/name -->
<!-- 等价于 -->
${pageContext.request.contextPath}/name
<c:url value="/name">
    <c:param name="key" value="value"/>
</c:url>
<!-- 输出 /demo/name?key=value -->

if 和 choose 标签


<c:set var="name" value="Tom" />
<c:if test="${not empty name}">
    <c:out value="${name}" />
</c:if>

forEach 标签


<c:forEach var="i" begin="1" end="5">
    ${i}
</c:forEach>
<% String[] arr = {"big", "pig"};  %>
<% request.setAttribute("arr", arr); %>
<!-- 或者 -->
<c:set var="arr", value="${arr}" />
<c:forEach items="${arr}" var="item" >
    ${item}
</c:forEach>

循环状态变量


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.ArrayList"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
    ArrayList<String> list = new ArrayList<String>();
    list.add("Tom");
    list.add("Jack");
    list.add("Steve");
    // 加到域对象中
    pageContext.setAttribute("list", list);
%>
<c:forEach items="${list}" var="item" varStatus="status">
    ${status.count}${item}
</c:forEach>

属性


status.count 元素个数
status.index 元素下标
status.first 是否为第一个元素
status.last 是否为最后一个元素
status.cuttent 当前元素

fmt 标签格式化

<%@ page
    language="java"
    contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"
    import="java.util.Date"
    %>
<%@ taglib
    prefix="fmt"
    uri="http://java.sun.com/jsp/jstl/fmt"
    %>
<!-- 格式化日期 -->
<%
Date date = new Date();
pageContext.setAttribute("date", date);
%>
<fmt:formatDate value="${date}" pattern="yyyy-MM-dd HH:mm:ss" />
<!-- 2020-05-16 23:32:34 -->
<!-- 格式化数字 -->
<%
pageContext.setAttribute("num", 3.141592653);
%>
<fmt:formatNumber value="${num}" pattern="0.00" />
<!-- 3.14 -->
0.00 不足 0 补位
#.## 不足不补位
相关文章
|
4月前
|
前端开发 JavaScript Java
Java学习路线
Java学习路线
67 1
|
3月前
|
Java 开发者
Java 学习路线 2024 最新版!
又对上次分享的 Java 学习路线进行了简单修改完善,并增加了免登录下载和黑夜模式,这里重发一下。 花了一个月零碎的时间,我根据当下 Java 后端求职和招聘的最新要求,对之前写的 Java 后端学习路线进行了全面的优化和改进。
|
4月前
|
数据采集 存储 分布式计算
专为初学者设计:Nutch库Java下载器入门指南
Nutch是一款开源的Java爬虫框架,用于抓取、解析、提取和存储网页数据。基于Hadoop的分布式系统,Nutch支持大规模网络爬取,并提供各种插件,包括链接分析、语言检测和内容过滤等功能。 本文旨在介绍如何使用Nutch库编写简单的Java下载器,即能从指定URL下载网页内容的程序。目标是帮助初学者了解Nutch库的基本用法,并展示如何通过代理IP技术和多线程技术提升下载效率。假设读者已安装Java和Nutch,并具备一定的Java编程基础。
专为初学者设计:Nutch库Java下载器入门指南
|
30天前
|
数据采集 JavaScript 前端开发
使用HtmlUnit库的Java下载器:下载TikTok视频
使用Java和HtmlUnit构建TikTok视频下载器,模拟浏览器行为,绕过访问限制。通过爬虫代理配置代理服务器,隐藏真实IP,多线程技术提升下载效率。示例代码展示如何设置HtmlUnit,创建代理,启用JavaScript,下载并处理视频链接。学习了页面模拟、JavaScript交互、代理使用及多线程技术,为实际爬虫项目提供参考。
使用HtmlUnit库的Java下载器:下载TikTok视频
|
1月前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
92 3
|
1月前
|
存储 监控 安全
Java基于物联网技术的智慧工地云管理平台源码 依托丰富的设备接口标准库,快速接入工地现场各类型设备
围绕施工安全、质量管理主线,通过物联感知设备全周期、全覆盖实时监测,将管理动作前置,实现从事后被动补救到事前主动预防的转变。例如塔吊运行监测,超重预警,升降机、高支模等机械设备危险监控等,通过安全关键指标设定,全面掌握现场安全情况,防患于未然。
147 5
|
1月前
|
XML Java API
JAVA标准库
JAVA标准库
|
1月前
|
Java 应用服务中间件
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
129 1
|
2月前
|
存储 缓存 安全
Guava:Java开发者的全方位工具库
Guava:Java开发者的全方位工具库
69 0
|
2月前
|
设计模式 Java 微服务
Java高薪学习路线:解锁Java开发的黄金钥匙
Java高薪学习路线:解锁Java开发的黄金钥匙
154 0