EL表达式和jstl标签库
通过学习jsp,可以得知可以在jsp中写Java代码和HTML代码。为了在jsp文件中减少Jsp脚本(即Java代码)的编写,因此引入了el表达式和jstl标签库。
EL技术
1.EL表达式概述
EL(表达式语言)可以嵌入到jsp页面的内部,主要是为了简化Java代码而设计出来的,它的格式是:${表达式};
2.EL的作用
2.1.El从四个作用域中取出数据(最主要的作用)
格式:
${pageContextScope.name}:从page域中取key为name的value值并输出。
${requestScope.name}:从request域中取key为name的value值并输出。
${sessionScope.name}:从session域中取key为name的value值并输出。
${applicationScope.name}:从ServletContext域中取key为name的value值并输出。
简化写法:${name}
该表达式将依次从page域,request域,session域,ServletContext域中获取key为name的value值并输出,如果在某个域中获取后将不在向后寻找。
2.2.EL的内置对象(11个)
1.pageScope,requestScope,sessionScope,applicationScope:从四个作用域中获取数据。
2.param,paramValue:接收请求的参数
3.header,headerValues:获得请求体头部信息
4.initParam:获取全局初始化参数
5.cookie:web中的cookie对象
6.pageContext:web开发中的pageContext,可以通过该对象获得jsp的其他内置对象。
注:可以通过${pageContext.request.ContextPath}来获取访问的web应用的名称。
2.3.EL执行表达式
${1+1} 有执行的结果
${empty user}有执行的结果
因此,在el执行表达式中该表达式必须要有一个返回值。
jstl标签库
1.什么是jstl
a.el只能解决从请求中获得数据,无法实现一些逻辑功能(如if判断,和for循环),因此引入了jstl。
b.jstl是jsp的标准标签库,主要是实现一些业务的逻辑功能。jstl标签库中有5个子库.
2.如何使用jstl
a.要使用jstl必须先要下载相应的jstl.jar文件,然后将该文件导入到自己所建的工程中。
b.在jsp文件中,使用<%@ taglib %>指令将该jstl库导入到jsp文件中。
c.之后就可以使用jstl的标签来完成业务的逻辑功能。
3.jstl的常用标签
3.1.<c:if test="">标签
其中的test是返回boolean的条件
3.2.<c:forEach>标签
<c:foreach items="" var></c:foreach>
其中的items是需要遍历的集合或者数组(一般通过从el表达式从作用域中获取),var表示集合或数组中每次遍历的元素。