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变 ...
随机推荐
- Codeforces #364 DIV2
~A题 A. Cards time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- DBoW2库介绍
DBoW2库是University of Zaragoza里的Lopez等人开发的开源软件库. 由于在SLAM回环检测上的优异表现(特别是ORB-SLAM2),DBoW2库受到了广大SLAM爱好者的关 ...
- JAVA与数据库MySQL相连接
JDBC(Java数据库连接体系结构): 是Java实现数据库访问的应用程序编程接口,主要功能是管理存放在数据库中的数据.通过接口对象,应用程序可以完成与数据库的连接,执行SQL语句,从数据库中获取结 ...
- bzoj 1146 [CTSC2008]网络管理Network
很久之前写过 count on the tree. 然后一直不懂树状数组是怎么套上这个主席树的. 看了两小时发现它套的就是个权值线段树, 看不出来可持久化在哪里. 因为动态开点所以空间nlog2n. ...
- Ajax操作如何实现跨域请求 (JSONP和CORS实现Ajax跨域的原理)
由于浏览器存在同源策略机制,同源策略阻止ajax (XMLHttpRequest) 从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性. 特别的:由于同源策略是浏览器的限制,所以请求的发送和响 ...
- View的绘制、事件传递过程
View绘制过程 onMeasure() onLayout() onDraw() 过程详解 onMeasure() 计算尺寸 onLayout() 为viewGroup类型布局子视图用的. onDra ...
- iife js
摘自:http://dz.sdut.edu.cn/blog/subaochen/2016/02/%E8%AF%B4%E4%B8%80%E8%AF%B4js%E7%9A%84iife/ 1 定义 IIF ...
- 深入浅出 Redis client/server交互流程
综述 最近笔者阅读并研究redis源码,在redis客户端与服务器端交互这个内容点上,需要参考网上一些文章,但是遗憾的是发现大部分文章都断断续续的非系统性的,不能给读者此交互流程的整体把握.所以这里我 ...
- python3--删除所有空目录,第一个有实际用处的程序
#目标:删除所有空文件夹 #逐个判断某目录下所有项目 #若该项目是目录就进入该目录,完成上一步,不是下一个项目 #判断完所有后判断当前目录是否是空目录,是就删除 #需要管理员权限,否则很多目录无权限 ...
- [Java] ApplicationContext 辅助类
我们经常需要获取各种 bean , 需要用到 context. 下面的类可以方便的使用 context , 获取 bean 等. import java.io.File; import java.ut ...