EL表达式多条件判断方式
<td>
<c:forEach items="${cityMap}" var="entry">
<hr>
<input type="checkbox" class="chooseAll"><strong>${entry.key}</strong><br>
<hr>
<c:if test="${entry.key ne '澳门特别行政区'}">
<c:if test="${entry.key ne '香港特别行政区'}">
<c:if test="${entry.key ne '北京市'}">
<c:if test="${entry.key ne '天津市'}">
<c:if test="${entry.key ne '重庆市'}">
<c:if test="${entry.key ne '上海市'}">
<c:forEach items="${entry.value}" var="str">
<input class="douc" type="checkbox" value="${str}" name="area">${str}
</c:forEach>
</c:if>
</c:if>
</c:if>
</c:if>
</c:if>
</c:if>
<br>
</c:forEach>
</td>
本想都写在一个if里,如
2018-2-2 17:12:30
今天又改需求,因业务逻辑对城市部分进行调整,发现下面这种方式也可以。。。之前用这种方式出问题可能是由于某种不可抗力,mmp
<c:if test="${entry.key ne '澳门特别行政区'
||entry.key ne '香港特别行政区' ....
}">
//事实证明这样写页面会出问题
另补充一下,EL中的三目运算符使用
<span style="font-size: 8px">${item.sex==1?"男":"女"}</span><br>
继续补充,因业务需要对el获取中的值判断是否包含某个字符串,网上搜了下,现整理一下
页面中声明:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
函数 |
描述 |
|
fn:contains(string, substring) |
如果参数string中包含参数substring,返回true |
|
fn:containsIgnoreCase(string, substring) |
如果参数string中包含参数substring(忽略大小写),返回true |
|
fn:endsWith(string, suffix) |
如果参数 string 以参数suffix结尾,返回true |
|
fn:escapeXml(string) |
将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回 |
|
fn:indexOf(string, substring) |
返回参数substring在参数string中第一次出现的位置 |
|
fn:join(array, separator) |
将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。 |
|
fn:length(item) |
返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。 |
|
fn:replace(string, before, after) |
返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果 |
|
fn:split(string, separator) |
返回一个数组,以参数separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素 |
|
fn:startsWith(string, prefix) |
如果参数string以参数prefix开头,返回true |
|
fn:substring(string, begin, end) |
返回参数string部分字符串, 从参数begin开始到参数end位置,包括end位置的字符 |
|
fn:substringAfter(string, substring) |
返回参数substring在参数string中后面的那一部分字符串 |
|
fn:substringBefore(string, substring) |
返回参数substring在参数string中前面的那一部分字符串 |
|
fn:toLowerCase(string) |
将参数string所有的字符变为小写,并将其返回 |
|
fn:toUpperCase(string) |
将参数string所有的字符变为大写,并将其返回 |
|
fn:trim(string) |
去除参数string 首尾的空格,并将其返回 |
页面用法示例:
<c:choose>
<c:when test="${fn:contains(item.content,'你要判断的值')}">
<img src="${item.content}" width="100px" height="100px"><br>
</c:when>
<c:otherwise>
<div width="100px" height="100px">
<span>${item.content}</span>
</div>
</c:otherwise>
</c:choose>
EL表达式多条件判断方式的更多相关文章
- el表达式 多条件判断
el表达式 多条件判断 CreationTime--2018年9月13日08点59分 Author:Marydon 1.情景展示 ACCESS_ID == 'APP1039' 且 CARDTYPE ...
- EL表达式多条件判断
${bndExport.containerList[0].kind eq '01' || bndExport.containerList[0].kind eq '02'}
- puppet(3) 变量、数据类型、表达式、条件判断语句-if、case、selector、unless
puppet(4) 变量.数据类型.表达式.条件判断语句-if.case.selector语句 puppet变量: 1.名称必须以$开头:赋值使用=,支持追加赋值+=: 2.每个变量都有两种引用格式: ...
- EL表达式多条件或判断用法
简单记录一EL表达式的判断用法 <c:if test="${(order.status == '06'&& order.type=='02') || (order.st ...
- EL表达式获取数据的方式
<%@page import="cn.jiemoxiaodi.domain.Person"%> <%@ page language="java" ...
- 在页面的el表达式是如何判断null的
<c:if test="${not empty message}"> <div id="message" class="alert ...
- 拉姆达表达式 追加 条件判断 Expression<Func<T, bool>>
public static class PredicateBuilder { /// <summary> /// 机关函数应用True时:单个AND有效,多个AND有效:单个OR无效,多个 ...
- EL表达式概述
E L(Expression Language) 目的:为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法. ...
- EL表达式从数组 Map List集合取值
Jstl是sun的标准taglib库,Jstl是标签库和el语言的结合. el 表达式的隐含对象pageScope,requestScope,sessionScope,applicationScope ...
随机推荐
- Javascript Array 非常用方法解析
在ECMAScript5的Array中已经有了Array.prototype.forEach,Array.prototype.filter,Array.prototype.map等方法 1. map ...
- webkit
HTML, 从HTML文档的开始到结束排列: <meta name="viewport" content="width=device-width, initial- ...
- OKMX6Q LTIB编译
因为在16.04上编译有许多解决不了的错误,最后还是在飞凌的12.04虚拟机上编译的. 按照手册<OKMX6X-S2-LTIB编译手册-V1.1-2016-08-18>进行到第8步时,出现 ...
- 解析MYsql explain执行计划extra列输出
EXPLAIN Extra 列信息: explain Extra列输出包含了关于mysql如何解决query的额外信息,特别是出现Using filesort 和 using temporary时,应 ...
- ora-01190和ora-01110的解决方法
SQLPLUS>ALTER DATABASE DATAFILE 2 ONLINE; ALTER DATABASE DATAFILE 2 ONLINE * ERROR 位于第 1 行: ORA-0 ...
- javaScript之jQuery
一.jQuery简介 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨 ...
- Linuxc - define 与 typedef的区别
预处理就是讲一些头文件展开. 预处理还会将使用到宏定义的值替换为真正的值.宏只是单纯的字符串的替换. #define 宏定义 眼里没有语法,不用分号结尾. typedef 定义别名,是有语法的,要用分 ...
- Javascript学习--时间
digit = [ [ [0,0,1,1,1,0,0], [0,1,1,0,1,1,0], [1,1,0,0,0,1,1], [1,1,0,0,0,1,1], [1,1,0,0,0,1,1], [1, ...
- python 闭包初识
def func_100(val): passline = 60 if val >= passline: print('pass') else: print('failed') def func ...
- Azure VM 防止被入侵
伴随着开源Linux系统的逐渐盛行,在机器上线之前配置好安全策略至关重要,分享几点有关Azure Linux VM机器的安全建议如下: 1.禁止root账号登录虚拟机,并增加密码的复杂度(大小写字母, ...