一、EL表达式
1、作用
2、获取作用域值语法
(1)获取值
1)${x}:表示找到作用域中,键为x的值;
2)${x.y}:表示找到作用域中,键为x对应的对象的属性y的值,y必须具备get方法;
3)${作用域别名Scope.键名}:表示到指定的作用域中查找值,
例如:${applicationScope.user}、${sessionScope.user};
(2)EL表达式的查找顺序
按作用域范围从小到大:
page >> request >> session >> application;
3、获取表单参数的值
(1)获取表单参数的值
1)${param.键名}:等效于request.getParameter(“键名”);
2)${paramValues.键名}:等效于request.getParameterValues(“键名”)
(2)取值方式
1)可通过”.”的方式取值;
2) 可通过中括号的方式取值,优势在于可以取变量的值;
(3)empty属性
作用:用来判断值是否为空,可以判断空字符串、null和空的容器,当为空时返回true,反之为false;
语法:${empty a},如果a为空,则返回true;
4、EL表达式支持算术运算
如果要将作用域中的参数进行算数运算,可以将运算放入el表达式的内部,如:${m+n};
二、JSTL标签库
1、概念
jstl标签库是jsp的标准标签库,其核心标签库是core。
2、导库
使用任何标签库前都需要导入标签库,语法如下:
<%@taglib prefix=”标签库的缩写” uri=”标签库的地址”%>
3、了解标签
(1)
属性:
1)value:表示要输出的值,例如:
2)defaultValue:表示当输出值为空时的默认值,例如:
3)escapeXML:表示是否解析html,例如:
(2)
属性:
1)scope: 要保存的作用域
2)var:要保存的键
3)value: 要保存的值
例如:
(3)
属性:
1)scope : 要移除的作用域
2)var: 要移除的键
例如:
4、常用标签
(1)单分支语句
(2)多分支语句
类似于Java中的if-else语句;test中为判断条件;
<c:choose>
<c:when test="要判断的值"></c:when>
<c:when test="要判断的值"></c:when>
<c:when test="要判断的值"></c:when>
<c:otherwise></c:otherwise>
</c:choose>
(3)循环语句
属性:
items: 要迭代的集合
var: 迭代到的当前元素
varStatus:当前迭代到的元素的状态
index:当前元素的索引
count:当前元素是第几个
first:判断是否是第一个
last : 判断是否是最后一个
step : 步长
begin :从索引几开始
end: 到索引几结束