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

 更新时间:2021年08月16日 14:42:26   作者:Pruett  
这篇文章主要介绍了SpringMVC学习之JSTL条件行为和遍历行为详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

JSTL条件行为和遍历行为

JSTL的条件行为标签有四个:if,choose,when,otherwise标签

1、if标签

是对某一个条件进行测试,结果为true就执行它的body content。测试结果保存在Boolean对象中,并创建有届变量来保存这个Boolean对象。利用var和scope属性分别定义有界变量的名称和范围。

两种形式:

1) 没有body content

<c:if test="condition" var="varName" [scope="page|request|session|application"] />

此情况的var 一般是通过其他标签在同一个JSP的后续阶段再进行测试

2)

<c:if test="conditin" [var="varName"] [scope="page|request|session|application"] >
body content
</c:if>
if标签的属性
属性 类型 描述
test+ 布尔 决定处理任何现有bodycontent的测试条件
var 字符串 引用测试条件值的有界变量名称;var的类型为Boolean
scope 字符串 var定义的有界变量的范围

PS:模拟else的情况可一使用两次if,一次正常,一次相反

2、choose when 和otherwise标签

choose,when和Java中的switch,case类似

choose标签中必须嵌有一个或者多个when标签,每个when标签都表示一种可以计算和处理的情况,otherwise标签则用于默认的条件块,假如没有任何一个when标签的处理结果为true,则otherwise将被处理,otherwise必须放在最后一个when之后.

choose和otherwise标签没有属性,when标签必须带有定义测试条件的test属性,用来决定是否处理bodycontent.

3、遍历行为forEach

3.1 forEach 会无数次的反复遍历body content 或者对象的集合

可以被遍历的对象包括java.util.Collection,java.util.Map的全部实现,以及对象数组或者主类型,有两种形式:

1) 固定的次数重复body content

<c:forEach [var="varName"] begin="begin" end="end" step="step" >
body content
</c:forEach>

2) 用于遍历对象集合

<c:forEach items="collection" [var="varName"] [varStatus="varStatusName"] [begin="begin"] [ end="end"] [step="step"]>
body content
</c:forEach>
forEach标签的属性
属性 类型 描述
var 字符串 引用遍历当前项目的有界变量名称
items+ 支持的任意类型 遍历的对象的集合
varStatus 字符串 保存遍历状态的有界变量的名称,类型值是javax.servlet.jsp.jstl.core.LoopTagStatus,带有count属性,返回当前的次数
begin+ 整数 如果指定items,遍历将从指定的索引处的项目开始,如果没有指定items,遍历将从设定的索引值开始,如果指定begin必须大于等于0
end+ 整数 如果指定items,遍历将从指定的索引处的项目结束,如果没有指定items,遍历将从设定的索引值结束
step+ 整数 遍历将只处理间隔指定step的项目,从一个项目开始,在这种情况下,step的值必须大于等于1

PS:var创建的有界变量的名称只在该forEach中使用,一到</c:forEach>处就会被删除。

3.2 forTokens标签

forTokens标签用来遍历以特定的分隔符隔开的令牌,用delims指定的分隔符,将元素分开

语法如下:

<c:forTokens items ="stringOfTokens" delims="delimiters" [var="varName" ] [varStatus="varStatusname"]  [begin="begin"] [end="end" ] [step="step"]>
body content
</c:forTokens>
forTokens标签的属性
属性 类型 描述
var 字符串 引用遍历当前项目的有界变量名称
items+ 支持的任意类型 遍历的对象的集合
varStatus 字符串 保存遍历状态的有界变量的名称,类型值是javax.servlet.jsp.jstl.core.LoopTagStatus,带有count属性,返回当前的次数
begin+ 整数 如果指定items,遍历将从指定的索引处的项目开始,如果没有指定items,遍历将从设定的索引值开始,如果指定begin必须大于等于0
end+ 整数 如果指定items,遍历将从指定的索引处的项目结束,如果没有指定items,遍历将从设定的索引值结束
step+ 整数 遍历将只处理间隔指定step的token,从一个token开始,在这种情况下,step的值必须大于等于1
delims+ 字符串 一组分隔符

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java 守护线程_动力节点Java学院整理

    Java 守护线程_动力节点Java学院整理

    Java语言机制是构建在JVM的基础之上的,意思是Java平台把操作系统的底层给屏蔽起来,所以它可以在它自己的虚拟的平台里面构造出对自己有利的机制,而语言或者说平台的设计者多多少少是收到Unix思想的影响,而守护线程机制又是对JVM这样的平台凑合,于是守护线程应运而生
    2017-05-05
  • 关于@RequestParam注解的使用(简单易懂)

    关于@RequestParam注解的使用(简单易懂)

    这篇文章主要介绍了关于@RequestParam注解的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • SpringBoot项目中新增脱敏功能的实例代码

    SpringBoot项目中新增脱敏功能的实例代码

    项目中,由于使用端有两个,对于两个端的数据权限并不一样。Web端可以查看所有数据,小程序端只能查看脱敏后的数据,这篇文章主要介绍了SpringBoot项目中新增脱敏功能,需要的朋友可以参考下
    2022-11-11
  • Spring jndi数据源配置方法详解

    Spring jndi数据源配置方法详解

    这篇文章主要为大家详细介绍了Spring jndi数据源的配置方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下解
    2017-07-07
  • 详解mybatis foreach collection示例

    详解mybatis foreach collection示例

    这篇文章主要介绍了详解mybatis foreach collection的相关资料,需要的朋友可以参考下
    2017-10-10
  • java判断字符串是否为数字的方法小结

    java判断字符串是否为数字的方法小结

    这篇文章主要介绍了java判断字符串是否为数字的方法,分别讲述了使用Java自带函数、正则表达式及ascii码三种方法进行字符串判断的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 在Android的应用中实现网络图片异步加载的方法

    在Android的应用中实现网络图片异步加载的方法

    这篇文章主要介绍了在Android的应用中实现网络图片异步加载的方法,一定程度上有助于提高安卓程序的使用体验,需要的朋友可以参考下
    2015-07-07
  • Mybatis-Plus实体类注解方法与mapper层和service层的CRUD方法

    Mybatis-Plus实体类注解方法与mapper层和service层的CRUD方法

    CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中DataBase或者持久层的基本操作功能,下面让我们一起看看吧
    2022-03-03
  • Java搜索与图论之DFS和BFS算法详解

    Java搜索与图论之DFS和BFS算法详解

    DFS指在进行算法运算时,优先将该路径的当前路径执行完毕,执行完毕或失败后向上回溯尝试其他途径。BFS指在进行算法运算时,优先将当前路径点的所有情况罗列出来,然后根据罗列出来的情况罗列下一层。本文介绍了二者的实现与应用,需要的可以参考一下
    2022-11-11
  • 深入浅析Java 循环中标签的作用

    深入浅析Java 循环中标签的作用

    这篇文章主要介绍了深入浅析Java 循环中标签的作用的相关资料,需要的朋友可以参考下
    2016-02-02

最新评论