【JSP EL】<c:if> <c:foreach >EL表达式 获取list长度/不用循环,EL在List中直接获取第一项的内容/EL获取Map的键,Map的值

简介: 1.EL表达式 获取list长度   中间该干嘛干嘛  2.不用循环,EL在List中直接获取第一项的内容${list[0].属性}3.EL获取Map的键,Map的值  ${k.value}这样分别获取键和值。

1.EL表达式 获取list长度

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

 

<c:if test="${fn:length(list名字)>1}">

  中间该干嘛干嘛

</c:if>

 

 

2.不用循环,EL在List中直接获取第一项的内容

${list[0].属性}

3.EL获取Map的键,Map的值

<c:forEach items="${map名字}" var="k">
  <option value="${k.key }">${k.value}</option>
</c:forEach>

这样分别获取键和值。

 

4.<c:if  test="条件是相等或不想等">  情况说明

【注意】:如果遇到 == 不起作用,使用eq看是否起作用,一般情况下==可以满足任何类型的比较

首先,页面最上引入<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

接着,在页面模拟一个数据,不用从后台传过来,不用那么麻烦了

  ①int值比较是否相等

  

<%int a = 12;request.setAttribute("a", a); %>
    <c:if test="${a eq 12}">
        该干嘛干嘛
    </c:if>

  或者

<%int a = 12;request.setAttribute("a", a); %>
     <c:if test="${a == 12}">
         该干嘛干嘛
      </c:if>

 

  ②int值比较不相等

<%int a = 12;request.setAttribute("a", a); %>
     <c:if test="${a != 12}">
          该干嘛干嘛
      </c:if>

 

  ③Integer值比较相等

<%Integer a = 12;request.setAttribute("a", a); %>
    <c:if test="${a eq 12}">
        该干嘛干嘛
    </c:if>

  或者

<%Integer a = 12;request.setAttribute("a", a); %>
      <c:if test="${a == 12}">
          该干嘛干嘛
      </c:if>

  

  ④Integer值比较不相等

<%Integer a = 12;request.setAttribute("a", a); %>
       <c:if test="${a != 12}">
            该干嘛干嘛
       </c:if>

 

  ⑤String值比较相等【注意,单引号或者双引号的问题】

<%String a = "凉凉";request.setAttribute("a", a); %>
    <c:if test="${a eq '凉凉'}">
          凉凉夜色思念为你成河
    </c:if>

<%String a = "凉凉";request.setAttribute("a", a); %>
      <c:if test="${a == '凉凉'}">
           凉凉夜色思念为你成河
      </c:if>

 

  ⑥String值比较不想等

<%String a = "凉凉";request.setAttribute("a", a); %>
      <c:if test="${a != '凉凉'}">
            凉凉夜色思念为你成河
       </c:if>

 

5.El表达式判空操作

<c:if test="${empty admin.name}">
或者
<c:if test="${not empty admin.name}">

  查看:http://www.cnblogs.com/sxdcgaq8080/p/8119186.html

相关文章
|
14天前
|
存储
`map()`方法在什么场景下会比 `forEach()`方法更高效?
综上所述,当需要对数组元素进行复杂的转换并生成新数组、进行链式调用和函数式编程、处理元素之间存在明确映射关系的情况以及与其他数组方法结合使用时,`map()`方法比`forEach()`方法更高效,能够使代码更加简洁、清晰和易于维护。
51 32
|
14天前
|
存储 JavaScript 前端开发
如何选择使用`map()`方法和`forEach()`方法?
选择使用`map()`方法还是`forEach()`方法主要取决于操作的目的、是否需要返回值、代码的可读性和维护性等因素。在实际开发中,需要根据具体的业务需求和场景来灵活选择合适的方法,以实现更高效、更易读和更易维护的代码。
20 3
|
2月前
|
索引
ES5常见的数组方法:forEach ,map ,filter ,some ,every ,reduce (除了forEach,其他都有回调,都有return)
ES5常见的数组方法:forEach ,map ,filter ,some ,every ,reduce (除了forEach,其他都有回调,都有return)
|
2月前
|
存储 JavaScript 前端开发
`forEach()`方法和`map()`方法哪个执行效率更高?
`forEach()`方法和`map()`方法哪个执行效率更高?
|
2月前
数组方法中的`forEach()`方法和`map()`方法有什么区别?
数组方法中的`forEach()`方法和`map()`方法有什么区别?
|
2月前
|
JavaScript 前端开发
JavaScript 中 五种迭代数组的方法 every some map filter forEach
本文介绍了JavaScript中五种常用数组迭代方法:every、some、filter、map和forEach,并通过示例代码展示了它们的基本用法和区别。
|
2月前
|
存储 前端开发 JavaScript
node中循环异步的问题[‘解决方案‘]_源于map循环和for循环对异步事件配合async、await的支持
本文探讨了在Node.js中处理循环异步操作的问题,比较了使用map和for循环结合async/await处理异步事件的差异,并提供了解决方案。
39 0
|
3月前
|
JavaScript 前端开发 索引
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
这段代码和说明介绍了JavaScript中数组的一些常用方法。函数接收三个参数:`item`(数组项的值)、`index`(项的位置,可选)和`array`(数组本身,可选)。示例展示了如何使用`filter()`过滤非空项、`forEach()`遍历数组、`map()`处理并返回新数组、`every()`检查所有元素是否满足条件、`some()`检查是否存在满足条件的元素、`find()`获取首个符合条件的元素值以及`findIndex()`获取其索引位置。这些方法都不会修改原数组。
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
|
3月前
|
存储 算法 Java
Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据
Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据
|
4月前
|
人工智能 算法 大数据
算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环
这篇内容介绍了编程中避免使用 for 循环的一些方法,特别是针对 Python 语言。它强调了 for 循环在处理大数据或复杂逻辑时可能导致的性能、可读性和复杂度问题。
54 6
算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环
下一篇
无影云桌面