1 EL表达式-获取数据
主要作用:更方便获取数据;
${} 合并了 获取加输出
1.1介绍、特点
-
可以获取作用域对象中的数据。
-
底层使用的是反射,在使用的时候可以通过键名即可获取对应的值。
-
简化了在jsp页面中使用<%%>获取域对象数据的方式。
基本语法:
1.${键名},键名是域对象中存储的数据的键。
-
${键名.属性名.属性名...},可以获取域对象中级联属性的值。
-
${键名[角标]},获取域对象中存储的list集合或者数组中指定角标的数据。
-
注意:${}不仅可获取域对象中的数据,而且会将该数据打印到浏览器中。如果获取不到数据,也不会报错,只是不显示而已。
1.2 获取作用域中数据
作用域数据查找顺序 :
使用EL表达式获取域数据的时候,如果没有指明作用域,那会按照作用域由小到大的顺序去找,直到找到为止:
pageContext ---> request ---> session ---> application
- 获取page域中数据 ${pageScope.键名}
- 获取请求域中数据 ${requestScope.键名}
- 获取会话域中数据 ${sessionSocpe.键名}
- 获取应用域中数据 ${applicationScope.键名}
1.3 获取请求参数(request对象)
${param.键名},可以获取request中携带的请求参数的数据
1.4 获取cookie数据
${cookie.key .name} 获取cookie中JSESSIONID的key value
${cookie.key .value}
1.5 使用比较运算符和算数运算符
${键名 逻辑运算符 键名}
${键名 算术运算符 键名}
注意: + 表示的是算术运算,而不是字符串拼接。
2 JSTL标签库-操作数据
使用jstl标签库 操作 el表达式获取的数据
2.1介绍
JSTL标签库是第三方发明的自定义的标签,每个标签都有自己特定的含义表示一个具体的java逻辑。我们要在JSP中使用JSTL必须使用taglib标签引入第三方的标签库资源。
标签库的内容有:
-
核心标签库
-
SQL标签库
-
函数标签库
-
格式化标签库
-
XML标签库
2.2 使用
导入对应jstl的jar包
使用时自动引入依赖
常用标签:
c:if标签的作用就相当于Java中的if判断
格式是: <c:if test="${EL 比较运算符 值}">条件成立输出的内容</c:if>
c:for循环遍历标签
<c:forEach items="${list}" var="emp"> items表示要遍历的集合 var为集合中的每个元素
{emp.id}---{emp.name}---${emp.position} <br>
</c:forEach>
Begin从0开始 end到10结束 变量i step:步长,每次+1
<c:forEach begin="0" end="10" var="i" step="1" varStatus="status">
${i} --- ${status.index}
</c:forEach>
fmt:日期格式转换
<fmt:formatDate value="${map.hiredate}" pattern="yyyy-MM-dd hh:mm:ss"/>