JSLT的c:if标签

作用:用来进行判断的

语法:

<c:if test="判断条件,使用EL表达式进行判断">
如果判断为true,这里的内容会生效;如果为false,这里内容相当于不存在
</c:if>

案例

一.数值判断(单条件)

<c:if test="${age < 18}">
<span style="color:red;">未成年</span>
</c:if> <c:if test="${age >= 18}">
<span style="color:green;">已成年</span>
</c:if>

<c:if test="${1 >= 18}">
<span style="color:green;">未成年</span>
</c:if>

二.判空处理(多条件逻辑判断)

判断是否为空

<c:if test="${empty str}"> str为空</c:if>

<c:if test="${not empty str}"> str不为空</c:if>

多条件逻辑判断

与(有假为假)
<c:if test="${not empty str1 && not empty str2}"> str1不为空,str2不为空</c:if>
或(有真为真)
<c:if test="${not empty str1 || not empty str2}"> str1不为空,str2不为空</c:if>

三.判断比较的字符串

<%-- 如果     获取产品录入人缓存名称(字符串)  eq比较  获取缓存登录人姓名(字符串)  与  获取缓存登录人姓名(字符串)  eq比较 '字符串'   --%>
<c:if test="${app:fullname(product.userId) eq app:fullname(user.userId) || app:fullname(user.userId) == 'IT部负责人'}">
执行体
</c:if>

四.判断布尔类型

 <c:set var="check" value="${file.checkDir}" scope="request"/>

<c:if test="${check==true}">
<td> <a href="showfiles.do?filename=${file.fileName}">${file.fileSingleName}</td>
</c:if>

<c:if test="${check==false}">
<td> <a href="download.do?filename=${file.fileName}">${file.fileSingleName}</a></td>
</c:if>

总结

  1.注意比较的值,如果两个都是从缓存中获取的也需要在一个${}符号里面,参考字符串比较

  2.比较的方式有很多,但要注意如果直接用字符串比较,声明的不是" "双引号,而是' '单引号

jsp技术之JSLT技术<c:if text="">判断的更多相关文章

  1. jsp 以及javabean内省技术

    l JSP l JavaBean及内省 l EL表达式 1.1 上次课内容回顾 会话技术: Cookie:客户端技术.将数据保存在客户端浏览器上.Cookie是有大小和个数的限制. Session:服 ...

  2. Atitit  java jsp 新的tag技术

    Atitit  java jsp 新的tag技术 1.1.  Tag Files  vs 原生写 SimpleTag 比较麻烦的 JSP 1.x 允许 Web 开发人员创建 Java 组件(称为标记处 ...

  3. 会话技术、Cookie技术与Session技术

    一.会话技术  1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的.  2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这 ...

  4. Java第三阶段学习(十三、会话技术、Cookie技术与Session技术)

    一.会话技术  1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的.  2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这 ...

  5. 6.19-response(响应),session(会话技术,服务器端技术) 内置对象,application(内置对象),pageContext (内置对象),cookie(客户端技术)

    一.response(响应) 页面重定向 response.sendRedirect(""); 转发: request.getRequestDispatcher("&qu ...

  6. Atitit.现在的常用gui技术与gui技术趋势评价总结

    Atitit.现在的常用gui技术与gui技术趋势评价总结 1. Gui俩种分类:  native 和 dsl 和 script1 2. 最好的跨平台gui技术h51 2.1. 几大技术体系(java ...

  7. 技术路线 vs 技术管理路线

    最近因为要给刚毕业的学生做一次演讲,所以就职业发展这类话题先以写博客的形式做一些思考,希望届时能给同学们带来质量更高的内容.我在<驾驭你的"职场布朗运动">一文中谈了2 ...

  8. 干货云集 WOT 2017全球架构与运维技术峰会揭密技术难点

    WOT,World Of Tech专注互联网IT技术领域,是一场不容错过的技术盛会!WOT 2017全球架构与运维技术峰会三大章节,15大技术专场,60+国内外一线互联网精英大咖站台,打造兼顾技术视野 ...

  9. java基础79 会话管理(Cookie技术、Session技术)

    1.概念     会话管理:管理浏览器和服务器之间会话过程中产生的会话数据.    Cookie技术:会话数据保存到浏览器客户端.[存 编号/标记(id)]    Session技术:会话技术会保存到 ...

随机推荐

  1. Spring源码之六-onRefresh()方法

    Spring源码之六-onRefresh()方法 大家好,我是程序员田同学. 今天带大家解读Spirng源码之六的onRefresh()方法,这是refresh()的其中的一个方法,看似是一个空方法, ...

  2. 5个相见恨晚的Linux命令,每一个都非常实用

    转至:https://zhuanlan.zhihu.com/p/57866239 作为一个开发人员,经常要用到终端命令,最让人头疼的是记不住繁琐的参数.用谷哥度娘检索效率低下,通过man命令显示的结果 ...

  3. Java基础--序列化和反序列化

    作用:在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存.比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Sessi ...

  4. docker:alpine使用logrotate切割日志

    最近在交付项目的时候使用了docker,大家都知道日志是项目定位问题的重要依据,但如果一开始项目本身没有对日志进行合理切割那就会导致长时间运行的项目日志文件大得编辑器打不开的情况.这里使用大部分lin ...

  5. c++刷leetcode记录

    #include<iostream> #include<sstream> #include<vector> std::vector<int> split ...

  6. JZ-049-把字符串转换成整数

    把字符串转换成整数 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 返 ...

  7. docker学习笔记(1)- 架构概述

    微服务架构 微服务VS传统分层架构 传统分层架构 优点 对于简单系统: 容易部署 容易测试 容易横向扩展 缺点 对于复杂系统: 耦合度高 不易快速维护 启动慢,部署慢 模块变更引起的回归问题多 难以持 ...

  8. 有关base64的作业

    1.有关Base64的介绍:Base64这个术语最初是在"MIME内容传输编码规范"中提出的.Base64不是一种加密算法,虽然编码后的字符串看起来有点加密的赶脚.它实际上是一种& ...

  9. JQ,JQuery的ajax卡住了,浏览器页面卡住

    在使用ajax的时候浏览器卡住了, 经过测试是因为在ajax中使用的data数据变量写错了 不存在也不报错,直接卡主了 好好检查一下吧.

  10. php 23种设计模型 - 适配器模式

    适配器模式(Adapter) 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁.这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能. 这种模式涉及到一个单一的类, ...