Jsp中在<c:forEach>标签内获取集合的长度

这次给大家分享一个小知识点——利用JSTL标签库中的functions标签来获取集合长度。

一、首先在jsp页面导入JSTL的core标签和functions标签

1 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
2 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

二、用<c:forEach>标签来遍历集合

1 <c:forEach items="${userList}" var="user" >
2    <h3>${fn:length(userList)}</h3>
3 </c:forEach>

这样通过${fn:length()}就可以很轻松的获取到userList集合的长度啦!

三、利用<c:forEach>标签中集合的长度来进行判断操作

1 <c:forEach items="${userList}" var="user" varStatus="vs">
2     <c:if test="${(fn:length(userList)) > 1}">
3        <span>用户${vs.count}</span>
4     </c:if>
5     <c:if test="${(fn:length(userList)) == 1}">
6        <span>用户</span>
7     </c:if>8 </c:forEach>

以上代码的结果为:

①当用户集合userList长度大于1时,则用户后面拼接这次迭代从1开始的迭代计数。

 如userList的长度为3时,则显示成 :用户1   用户2  用户3;

②当用户集合userList长度等于1时,则直接显示为“用户”。

 

四、<c:forEach>标签中的小知识点总结:

①current:当前这次迭代的(集合中的)项。

②index:当前这次迭代从0开始的迭代索引。

③count:当前这次迭代从1开始的迭代计数。

④first:用来表明当前这轮迭代是否为第一次迭代,该属性为boolean类型。

⑤last:用来表明当前这轮迭代是否为最后一次迭代,该属性为boolean类型。

⑥begin:begin属性的值。

⑦end:end属性的值。

⑧step:step属性的值。

原文地址:https://www.cnblogs.com/fy0206/p/10670381.html

时间: 2024-11-13 10:28:33

Jsp中在<c:forEach>标签内获取集合的长度的相关文章

Jsp中如何在&lt;c:forEach &gt;标签内获取集合的长度

利用jstl标签functions的prefix属性的length属性值 1.首先在jsp页面导入jstl function标签 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 2.比如集合为messagelist <c:forEach items="${messagelist }" var = "message"&

jsp中的包含 include标签和ejb的小知识点

<!-- 用inclue指令导入安全登录防护代码(静态包含) --> <!-- 静态包含:把被包含代码拷到当前类中形成一个新的类,执行.包含与被包含代码是合写在同一个类(service方法)中,其中的变量是完全共享的 --> <%@include file="include.jsp" %> <!-- 动态包含:用jsp:incluce标签来实现,,被包含的代码会生成一个独立的类.包含与被包含代码是两个不同的类,只共享request -->

&lt;c:foreach&gt; 标签怎么获取循环次数?

<c:forEach var="i" begin="1" end="9" varStatus="status"> ${status.index} </c:forEach>

在jsp中常用的内置对象(5个)小总结和两种页面跳转方式(服务器端调转、客户端跳转)的区别

jsp中常用的几个内置对象: 一.request对象 主要作用:  (1)获取请求页面的信息   比如:request.getParameter("参数名");  (2)获取客户端的信息   比如:request.getRemoteAddr();//获取客户端的IP地址.  (3)处理乱码   比如:request.setCharacterEncoding("UTF-8"); 二.response对象 主要作用:  (1)请求重定向(客户端跳转)  response

java攻城师之路--复习java web之jsp入门_El表达式_JSTL标签库

JSP 技术掌握:JSP语法 + EL + JSTL 为什么sun推出 JSP技术 ? Servlet 生成网页比较复杂,本身不支持HTML语法,html代码需要通过response输出流输出,JSP支持HTML语法,生成HTML方便. JSP技术与Servlet 技术区别和关系?JSP和Servlet技术都是用来动态生成网页的,Servlet不支持HTML语法,生成网页麻烦,JSP支持HTML语法,生成网页方便,JSP运行时翻译Servlet 执行的.JSP 就是 Servlet . JSP运

JSP中两种include的区别

首先说明这两种都是什么: <%@ include file=”relativeURI”%> 可以叫作静态include(静态包含),是jsp指令中的一种,(JSP指令控制JSP编译器如何去生成servlet(servlet是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容.狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类别,一般情况下,人们将Servlet理解为后者.-维基百科) <js

jstl表达式的foreach标签只执行循环不显示取出的值

jstl的foreach标签使用方法网上一大堆,在此不必赘述,本次主要mark的是为啥按照正常的写法不显示值,${value}放那啥样显示出来的就啥样 标题效果描述如下 : jsp中: <c:forEach begin="1" var="a" end="5" step="1"> ${a} <br></c:forEach> 显示效果: ${a} ${a} ${a} ${a} ${a} jstl

JSP中的include的两种用法

1.两种用法 <@inlcude file ="header.jsp"/> 此时引入的是静态的jsp文件,它将引入的jsp中的源代码原封不动地附加到当前文件中,所以在jsp程序中使用这个指令的时候file里面的值(即要导入的文件)不能带多余的标签或是与当前jsp文件重复的东西.例如里面不要包含<html><body>这样的标签,因为是把源代码原封不动的附加过来,所以会与当前的jsp中的这样的标签重复导致出错. <jsp:include page

JSP中的两种include的区别

一.<%@ include file="relativeURI"%>  1.可以叫作静态include(静态包含),是jsp指令中的一种. 2.在JSP页面被转化成servlet之前,和引入的JSP融合到一起,   "先包含,后编译",不会检查所含文件的变化, 3.<%@ include file=""%>指令在编写代码的时候一般放在最顶部,主要附加的是被重用的代码,这里所说的附加是指把源代码原封不动的附加过来,例如在js