SpringMVC学习之JSTL条件行为和遍历行为详解

SpringMVC学习之JSTL条件行为和遍历行为详解

什么是JSTL

JSTL(JSP Standard Tag Library)是一个JSP标准标签库,包含JSP页面中常用的标签。JSTL有以下几种标签:

  • Core(核心)标签:提供流程控制、迭代、变量赋值等功能。
  • Formatting(格式化)标签:提供日期、数值格式化等功能。
  • SQL 标签(deprecated):提供对关系型数据库的访问。
  • XML 标签:提供对 XML 基础结构的访问。

在本篇文章中,我们将主要讲解Core(核心)标签中的条件行为和遍历行为。

条件行为

if标签

if标签用于条件判断,语法如下:

<c:if test="${expression}">
    <!-- 在此处需要执行的代码 -->
</c:if>

其中,test属性的值为需要判断的表达式,expression的结果必须为布尔类型(true或false)。如果test属性的值为true,则if块中的代码会执行;否则,if块中的代码会被忽略。

示例1:判断变量值

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="age" value="18" />
<c:if test="${age ge 18}">
    <p>你已经成年了</p>
</c:if>

输出结果为:

你已经成年了

示例2:判断集合大小

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="list" value="${fn:split('A,B,C', ',')}" />
<c:if test="${fn:length(list) gt 3}">
    <p>集合中元素个数大于3</p>
</c:if>

输出结果为:

(没有输出)

choose标签

choose标签用于多条件判断,语法如下:

<c:choose>
    <c:when test="${expression1}">
        <!-- 在第一种情况下需要执行的代码 -->
    </c:when>
    <c:when test="${expression2}">
        <!-- 在第二种情况下需要执行的代码 -->
    </c:when>
    <c:otherwise>
        <!-- 上述条件都不满足时需要执行的代码 -->
    </c:otherwise> 
</c:choose> 

其中,when标签表示当某特定条件成立时执行代码,otherwise标签表示没有任何when子标签的条件都没有成立时执行代码。

示例3:多条件判断

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="score" value="80" />
<c:choose>
    <c:when test="${score ge 90}">
        <p>你的成绩很优秀</p>
    </c:when>
    <c:when test="${score ge 80}">
        <p>你的成绩良好</p>
    </c:when>
    <c:otherwise>
        <p>你的成绩不太理想</p>
    </c:otherwise>
</c:choose>

输出结果为:

你的成绩良好

遍历行为

forEach标签

forEach标签用于遍历集合,语法如下:

<c:forEach items="${collection}" var="item" [varStatus="status"]>
    <!-- 在此处需要执行的代码 -->
</c:forEach>

其中,items属性为需要遍历的集合,var属性为在遍历中每个元素对应的变量名,varStatus属性可选,表示迭代状态,包含以下方法:

  • index:当前元素在集合中的下标。
  • count:等同于index+1。
  • first:表示当前是否为第一个元素。
  • last:表示当前是否为最后一个元素。
  • current:表示当前元素。

示例4:遍历集合

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="list" value="${fn:split('A,B,C', ',')}" />
<c:forEach items="${list}" var="item" varStatus="status">
    <p>${status.index + 1}: ${item}</p>
</c:forEach>

输出结果为:

1: A
2: B
3: C

forTokens标签

forTokens标签用于遍历以特定分隔符分隔的字符串,语法如下:

<c:forTokens items="${string}" delims="${delimiter}" var="token">
    <!-- 在此处需要执行的代码 -->
</c:forTokens>

其中,items属性为需要遍历的字符串,delims属性为分隔符,var属性为在遍历中每个元素对应的变量名。

示例5:遍历字符串

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="str" value="A,B,C" />
<c:forTokens items="${str}" delims="," var="token">
    <p>${token}</p>
</c:forTokens>

输出结果为:

A
B
C

结语

以上就是JSTL中条件行为和遍历行为的详细讲解。JSTL提供了许多标签,不同的标签可以满足不同的需求,可以大大简化编写JSP页面的工作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringMVC学习之JSTL条件行为和遍历行为详解 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • C#生成word记录实例解析

    C#生成Word记录是一个常见的需求,可以使用各种库和工具来完成这个任务。本攻略将向您展示生成Word记录的完整过程。 步骤一:安装DocX库 为了生成Word记录,我们需要使用DocX库。它是一个非常流行的开源C#库,可以轻松创建和编辑Word文档。 要安装DocX库,请在Visual Studio中打开NuGet包管理器,然后搜索并安装DocX库。 步骤…

    Java 2023年6月15日
    00
  • java生成可执行文件(制作可执行文件)

    Java是一门需要在JAVA虚拟机(JVM)上运行的语言,因此Java源代码无法直接转化为Windows或Linux操作系统上的可执行文件。不过,Java提供了一个工具——Java打包工具(jar工具),你可以使用它将Java代码、构成代码所需的依赖文件(如类库)、配置文件等打包成一个可执行的jar文件。接下来是我们提供的java生成可执行文件(制作可执行文…

    Java 2023年5月19日
    00
  • Java 实战项目锤炼之小区物业管理系统的实现流程

    Java 实战项目锤炼之小区物业管理系统的实现流程 项目介绍 小区物业管理系统是一个面向物业管理公司、小区业主以及业主代表的系统,可以帮助物业管理公司进行小区日常管理和业务处理,实现业务流程自动化,提升工作效率和服务质量。 该系统的主要功能包括小区信息管理、业主信息管理、房屋信息管理、缴费管理、维修管理、投诉管理等。 实现流程 1.需求分析 在该阶段,我们需…

    Java 2023年5月24日
    00
  • Java实战之兼职平台系统的实现

    Java实战之兼职平台系统的实现——完整攻略 前言 本文将介绍如何使用Java实现一个兼职平台系统,其中包括如何搭建项目框架、如何设计数据库、如何实现用户注册、登录、发布任务、接受任务等功能。 项目框架搭建 在开始实现具体功能之前,我们需要先搭建好项目的框架。我们推荐使用Spring Boot作为项目框架,因为它具有快速开发、易于维护等优点。下面是搭建项目框…

    Java 2023年5月18日
    00
  • jsp利用echarts实现报表统计的实例

    让我为您详细讲解“jsp利用echarts实现报表统计的实例”的完整攻略。 1. 环境准备 运用 ECharts 前,需要先引入核心库文件 echarts.min.js。因此,我们需要进行以下操作:- 下载 ECharts:从 ECharts 官网(https://echarts.apache.org/zh/download.html)下载最新版 EChar…

    Java 2023年6月15日
    00
  • 安装Java时怎么拦截推广软件?

    下面是“安装Java时怎么拦截推广软件”的完整攻略: 1. 下载Java安装程序 首先,我们需要从Oracle官网上下载Java的安装程序,选择适合自己系统的版本,然后双击运行安装程序。 2. 进入安装向导 在开始安装Java之前,系统会询问你是否同意Oracle的许可协议,同意后点击“下一步”按钮。接着你会看到“选择安装选项”界面,我们需要选择“自定义安装…

    Java 2023年5月26日
    00
  • Java字符串的压缩与解压缩的两种方法

    Java 字符串的压缩与解压缩是一种很常见的操作,在 Java 中有多种方法可以实现这个目的。本篇攻略将详细介绍 Java 字符串压缩与解压缩的两种方法,包括使用 java.util.zip 包和使用 Apache Commons Compress 库。 方法一:使用 java.util.zip 包进行压缩与解压缩 压缩字符串 import java.io.…

    Java 2023年5月19日
    00
  • Java正则表达式之split()方法实例详解

    Java正则表达式之split()方法实例详解 简介 Java中的正则表达式是一种常见的字符串处理方式,可以使用它们来匹配、查找、替换或拆分字符串。其中,split()方法是一个非常常用的字符串拆分方法。本文将详细介绍split()方法及其应用。 split()方法参数 split()方法是String类的一个成员方法,用于将字符串根据传入的正则表达式拆分成…

    Java 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部