如果域对象中属性的名称有相同的,使用EL表达式默认从最小的域中取值
list和数组使用下标值取值 ${ list[0] }
如果是map集合或者对象 ${ map.aaa }
如果map集合中的key有特殊字符的话,使用${ map[ "c.d" ] }
1. pageScope 获取page域对象的值 ${ pageScope.age }获取page域对象中的值
2. requestScope 获取request域对象的值
3. sessionScope 获取session域对象的值
4. applicationScope 获取application域对象的值 (servletContext)
5. param 获取表单提交过来的参数 (相当于 request.getParameter())
6. paramValues 获取表单提交过来的参数 (相当于 Map
7. header 获取请求头信息
8. headerValues 获取请求头信息
9. initParam 获取全局的初始化参数
10.cookie 获取cookie对象的引用,可以使用这个引用获取cookie的名称和值
前提条件:在servlet中创建了一个Cookie对象Cookie cookie = new Cookie("last","2015-11-11");
${ cookie.last } -- 获取cookie的名称为last的对象
${ cookie.last.name } -- 获取cookie对象的名称 last
${ cookie.last.value } -- 获取cookie对象的值 2015-11-11
11.pageContext
获取项目的虚拟路径(项目名称) ${ pageContext.request.contextPath }
1.关系运算符
等于 = = 或 eq 不等于 != 或 ne 小于 < 或 lt 大于 > 或 gt
小于等于 <= 或 le 大于等于 >= 或 ge
2.逻辑运算符
交集 && 或 and 并集 || 或 or 非 ! 或 not
empty运算符:检查对象是否为null或“空”
二元表达式: ${ user!=null ? user.name : "" }
需要两个jar包 jstl.jar standard.jar
JSTL提供的核心标签 1.核心标签库(core) ----c 2.fn.tld EL函数库
注意:el表达式操作的都是域中的数据,使用前必须将值放到域中
核心标签库:
相当于if else if else
${ str }
${ i }
属性:1.增强for循环 for(String str:集合) var --循环遍历的数据保存到var声明的变量中(相当于 str) items --要遍历的集合,注意:从域对象中取值(相当于集合) 2.普通for循环 for(int i=0;i<10;i++) begin --从哪开始(相当于i=0) end --到哪结束(相当于i<10) step --步长(相当于i++)
url标签
作用:有提交的地址相关(超链接 form表单 img的src属性)
好处:1.假如使用form的action编写地址
特点:不写项目名,默认给你加上项目名
好处: 2.使用
配置自定义EL函数
jsp中使用的方法名(和java文件中方法名无关)
类的全路径
返回类型 方法名 参数类型