一.EL表达式
1.El概述
(1)Expression Language:表达式语言, jsp2.0之后内置在jsp里面
(2)目的:为了使JSP写起来更加简单。(代替脚本 <% %>)
2.EL表达式的用途
(1)获取数据. 获取的是域对象(pageContxt,request,session,application)中存储的数据
(2)EL执行运算
(3)获得常用WEB开发的对象
3.El获取数据
(1)获取简单类型数据:快捷写法:${属性名(存在域对象里面的key)}
(2)获取数组:语法:${key[index]}; key就是存到域里面的key
(3)获取list:语法:${key[index]};key就是存到域里面的key
(4)获取map:语法:${key.键}, key就是存到域里面的key,键是map的键
(5)获取bean:语法:${key.javabean属性}
4.EL运算
(1)算术运算:+,-,*,/
(2)逻辑运算:< >= <= != ==
(3)关系运算:&& || !
(4)非空判断:语法: ${empyt 属性名};属性名 就是域对象里面的key值
empty,判断一个对象是否为null判,断集合长度是否为0, 判断一个字符串是否为""
not empty
5.EL获取web开发对象
(1)四个Scope
1)pageScope
2)requestScope
3)sessionScope
4)applicationScope
(2)获取相关参数
1)param , 作用相当于request.getParameter() name=zs&age=18 {param}--> {param.name}
2)paramValues,作用相当于request.getParameterValues(name)
(3)获取请求头相关信息
1)header
2)headerValues
(4)全局初始化参数相关:initParam
(5)cookie:获取的也是一个map集合,map<String cookie的名称,Cookie 对象>
(6)pageContext:相当于jsp里面的pageContext对象
二.JSTL标签库
1.jstl概述
JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也是作为标准支持的
2.使用步骤
(1)导入jar包
(2)在页面上导入标签库,<%@ taglib prefix="" uri=""%>
3.条件标签:if
<c:if test="el表达式${..}" [var="给之前的表达式的结果起个名字"] [scope="将结果保存在那个域中 默认page"]>
</c:if>
4.foreach标签
<!--begin:开始 end:结束 var:每一次遍历的数据 step:步长 默认1 -->
<c:forEach begin="1" end="${a }" var="n">
${n }
</c:forEach>