一、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)单分支语句

类似于Java中的if语句;test中为判断条件;

(2)多分支语句

类似于Java中的if-else语句;test中为判断条件;

  1. <c:choose>
  2. <c:when test="要判断的值"></c:when>
  3. <c:when test="要判断的值"></c:when>
  4. <c:when test="要判断的值"></c:when>
  5. <c:otherwise></c:otherwise>
  6. </c:choose>

(3)循环语句


属性:
items: 要迭代的集合
var: 迭代到的当前元素
varStatus:当前迭代到的元素的状态
index:当前元素的索引
count:当前元素是第几个
first:判断是否是第一个
last : 判断是否是最后一个
step : 步长
begin :从索引几开始
end: 到索引几结束