JSTL 操作符
el表达式的取值默认顺序:
pageScope requestScope sessionScope applicationScope
结构,采用.导航,也称为存取器 ${user.name} ${user.class.name}
输出map ${mapValue.key1}
输出数组 ${strArray[1]}
输出list ${list[1].name}
el表达式的运算
${1+2}= 3
${10/5}= 2.0
${10%3}= 1
${10 div 2}= 5.0
${10 mod 4}= 2
el表达式对应的运算符
等于 == eq
不等于 != ne
大于 > gt
小于 < lt
大于等于 >= ge
小于等于 <= le
与 && or
或 || and
非 ! not
加 +
减 -
乘 *
除以 / div
求莫 % mod
el表达式判断是否为空
request.setAttribute("value1",null) ${empty requestScope.value1} = true
request.setAttribute("value2","") ${empty requestScope.value1} = true
request.setAttribute("value3",new ArrayList()) ${empty requestScope.value1} = true
request.setAttribute("value4","i love you") ${empty requestScope.value1} = false
request.setAttribute("value4","i love you") ${!empty requestScope.value1} = true
-------------------------------------------------------------------------
web.xml的
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.4"> 大于等于2.4 方可支持jstl
先引入 standard.jar 和 jstl.jar
jstl标签的用法 在页面引入 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
输出标签 -----------
<c:out value="ppp" /> 输出 ppp
<c:out value="null" default="ddd"/> 输出 ddd 可以设置默认值
<c:out value="<font color="red">kkk</font>" escapeXml="false"/> 输出 红色的kkk 默认的escapeXml为true
赋值标签 -----------
<c:set value="123" var="jj" scope="session" /> 此时有个名为jj,值为123的session ,默认的scope为page
${jj} 在页面打印出123
<c:remove var="jj" /> 将其删除,可以指定scope,默认为page
逻辑标签 -----------
<c:if test="?" /> ?:代表条件 可以用el表达式
-----------
<c:choose>
<c:when test="?">
...... 相当于 if...else... c:when 可以有多个,相当于else if
</c:when>
<otherwise>
......
</otherwise>
</choose>
循环控制标签 -----------
<c:forEach items="${list}" var="u" > ${list}是一个集合
${u.name}
</c:forEach>
<c:forEach items="${list}" var="u" varStatu="ss">
<c:choose>
<c:when test="u.age % 2 == 0">
<tr bgColor="red"> 如果集合中的数字是偶数,则当行为红色
</c:when>
<otherwise>
<tr>
</otherwise>
</choose>
</c:forEach>
<c:forEach items="${list}" var="u" begin="2" end="8" step="2"> 输出下表(从0开始)为2到8的元素,每次递增2
${u.name} 将输出u[2].name u[4].name u[6].name u[8].name
</c:forEach>
Map m = new Map();
m.put("k1","v1");
m.put("k2","v2");
request.setAttribute("mapValue",m);
<c:forEach items="mapValue" var="ma">
${ma.key} = ${ma.value} 输出: k1=v1 k2=v2
</c:forEach>
间隔符控制标签-------------
request.setAttribute("str","1,2,3,4,5");
<c:forTokens items="str" delims="," var="de">
${de} 输出 12345
</c:forTokens>
捕获异常标签 ----------
<c:catch var="info">
<%
Integer.parseInt("sdfsdf");
%>
</c:catch>
${info} 输出:异常信息
导入页面标签 -----------
<c:import url="http://www.baidu.com" /> 相当于include
链接标签 ------------
<c:url value="http://www.baidu.com" var="v"/>
<c:param name="name" value="jack" />
<c:param name="age" value="20" />
</url>
${v} 输出 http://www.baidu.com?name=jack&age=20
重定向标签 ------------
<c:redirect context="/company" url="/index.jsp"> 定位到名叫company的项目下的index.jsp页面
JSTL 操作符的更多相关文章
- [Java] JSP笔记 - EL、JSTL 常用标签
一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...
- [转]EL表达式和JSTL表达式实例
/* **Title:EL表达式和JSTL表达式实例 **Author:Insun **Blog:http://yxmhero1989.blog.163.com/ */ 为了方便写JSP,我们引入了E ...
- jstl标签库基础教程及其使用代码(一)。
概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...
- JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总
一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出. 1,JSTL标签总结: a).JSTL标签有什么用? JSTL是由JCP(Java Commu ...
- JSTL&EL(程序员必看之一)
EL表达式 可以在jsp页面中减少大量的Java代码.Expression Language,它是一种借鉴了javaScript和XPath的表达式语言. EL表达式定义了一系列的隐含对象和操作符,使 ...
- jstl标签库基础教程及其使用代码
概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...
- EL表达式与JSTL(C)标签
一.EL表达式: Expression Language提供了在 JSP 脚本编制元素范围外(例如:脚本标签)使用运行时表达式的功能.脚本编制元素是指页面中能够用于在JSP 文件中嵌入 Java 代码 ...
- <Chapter 2>2-2-2-1.介绍JSPs,JSTL,和EL(Introducing JSPs, JSTL, and EL)
现在,我们的时钟显示了UTC时区的时间.我们希望我们的应用可以让用户自定义时区,并且为将来的访问记住用户的偏好.为了做到这一点,我们使用Google帐户来识别哪个用户正在使用这个应用. 在我们深入了解 ...
- 百战程序员——EL、JSTL
1.EL表达式可以操作作用域中的属性,也可以操作普通的局部变量.对吗? 不对 El表达式一般支持作用域(application.session.request.pagecontext)中的属性.EL变 ...
随机推荐
- Freemarker中空值 null的处理++++定义数组
http://blog.java-zone.org/archives/800.html <#list listBlogPost as blogPost> </#list> 如果 ...
- 【USACO 3.2】Spinning Wheels(同心圆旋转)
题意: 5个同心圆,告诉你角速度,每个圆有1至5个楔,告诉你起点和宽度.求最早时间如果有的话使得存在某个角度经过5个圆的楔. 题解: 最重要的是要意识到,360秒钟后,每个圆都回到了原来的位置. 我的 ...
- BZOJ 2815: [ZJOI2012]灾难
呃,题面没了,大概就是给出一些生物之间的捕食关系,求灭绝树每个点的灾难值. 拓扑排序之后倒着加入点,动态维护fa[][]数组,倍增法求LCA,当然大佬愿意写动态树也是极好的…… #include &l ...
- javascript 原型查找 再次试探~
前言 我们知道 对象字面量 是没有能力去查找自己原型的,它必须通过他的构造器来完成原型查找, 1本文将测试以下 a,new这个对象 之前/之后 改变构造器的原型,使其指向其他构造器的原型 b,new这 ...
- Android_server提示端口被占用
root@android:/data/local/tmp # ./android_server IDA Android 32-bit remote debug server(ST) v1.19. He ...
- Jackson 通过自定义注解来控制json key的格式
Jackson 通过自定义注解来控制json key的格式 最近我这边有一个需求就是需要把Bean中的某一些特殊字段的值进行替换.而这个替换过程是需要依赖一个第三方的dubbo服务的.为了使得这个转换 ...
- HDU3394:Railway
传送门 点双练习. 对于一张图,询问有多少条边不属于任意一个点双和多少条边至少属于两个点双. 显然,一张图里有多少个桥就是第一问的答案. 对于第二问,考虑对于一个点双,如果其中的边数等于点数,那么这个 ...
- GIT文档
GIT文档http://git.oschina.net/progit/http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c ...
- Excel—使用条件格式标注今日值班者
如下图所示值班表: Step1:选中A2:G2,调出条件格式,在条件格式中,使用公式确定单元格. Step2: 在公式栏中填入以下公式: =TEXT(TODAY(),"aaaa") ...
- mysql 优化
1.存储过程造数据 CREATE DEFINER=`root`@`localhost` PROCEDURE `generate_test_data`(`n` int) begin declare i ...