【JSP EL】<c:if> <c:foreach >EL表达式 获取list长度/不用循环,EL在List中直接获取第一项的内容/EL获取Map的键,Map的值
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
【JSP EL】<c:if> <c:foreach >EL表达式 获取list长度/不用循环,EL在List中直接获取第一项的内容/EL获取Map的键,Map的值的更多相关文章
- Java8新特性之forEach+Lambda 表达式遍历Map和List
这是Java8系列的第二篇,今天来说一下Java8中forEach的简单使用.我们使用对比的方式来看应该会看得更加清楚,更能理解: 一.遍历Map ============Java8之前的方式==== ...
- 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等
[源码下载] 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等 作者:webabcd 介绍不可或缺 Windows Native ...
- yii2通过foreach循环遍历在一个用户组中取出id去另一表里查寻信息并且带着信息合并原数组信息---案例
yii2通过foreach循环遍历在一个用户组中取出id去另一表里查寻信息并且带着信息合并元数组信息---案例 public function actionRandomLists(){ //查询到了所 ...
- foreach() 中用指针指向数组元素,循环结束后最好销毁指针
之前发过一次微博,今天又遇到这个问题,并且再次犯错,于是决定再加深一下. 就举php.net里的一个例子吧 $a = array('abe','ben','cam'); foreach ($a as ...
- js文件需要jsp页面中的div时,此js文件必须在div之后才能获得值,否则获取不到
js文件需要jsp页面中的div时,此js文件必须在div之后才能获得值,否则获取不到 2.图2的内容为directionkey.js的内容
- J2EE中getParameter与getAttribute以及对应的EL表达式
摘自http://blog.csdn.net/woshixuye/article/details/8027089 getParameter ① 得到的都是String类型的.如http://name. ...
- EL表达式中获取list长度
在jsp页面中不能通过${list.size}取列表长度,而是 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" pref ...
- EL表达式中获取list长度(JSTL函数用法)
在jsp页面中不能通过${list.size}取列表长度,而是 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" pref ...
- JSP 基础之 JSTL <c:forEach>用法
在JSP的开发中,迭代是经常要使用到的操作.例如,逐行的显示查询的结果等.在早期的JSP中,通常使用Scriptlets来实现Iterator或者Enumeration对象的迭代输出.现在,通过JST ...
随机推荐
- mysql innodb 数据表不存在
方法一: https://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html 修改my.cnf文件 [mysqld] innodb ...
- java字节码指令列表(转)
字节码 助记符 指令含义 0x00 nop 什么都不做 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型-1推送至栈顶 0x03 iconst_0 将i ...
- 【python】多个文件共用日志系统的重复打印问题
先写一个最简单的log文件: test_logging5.py #coding:utf-8 import logging logging.debug('logger debug message') l ...
- xshell 如何连接服务器
https://jingyan.baidu.com/article/ab69b270b0ca3d2ca7189fdc.html 点击“新建”之后就会出现下面这样一个界面,“名称”根据自己的需求填写,“ ...
- Two Sum ——经典的哈希表的题
Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...
- SQL Server 连接字符串和身份验证 学习
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1; ...
- 服务器环境从PHP5升级到PHP7
#安装ppa sudo apt-get install python-software-properties software-properties-common sudo add-apt-repos ...
- Bzoj3942 Censoring(KMP)
\(KMP\)问题的核心在于数组\(next\)(或者\(pre\)/\(fail\),各种叫法),几乎所有的此类型题都是需要计算\(next\)的. 这里解释一波\(next\):即满足字符子串\( ...
- Nginx开启跨域访问
CORS on Nginx The following Nginx configuration enables CORS, with support for preflight requests. # ...
- Visual Studio 2017启动x86的Android模拟器失败
Visual Studio 2017启动x86的Android模拟器失败 Visual Studio 2017默认提供多个Android模拟器.其中,x86模拟器运行较快.但是由于和Hyper-V服 ...