一:EL技术

EL(express language简称)表达语言,也叫表达式语言。

作用是为了减少jsp中java代码的嵌入,替代jsp脚本编写

二:EL从域中取出数据

(EL最重要的作用)
(1)我们知道上次jsp中我们取数据是通过<%=request.getAttribute(name)%>

但使用语句,就得到了如下的简化替代了上面的脚本:

${requestScope.name} //顾名思义就是从request域中取出name名字的内容。

(2)EL取值的具体介绍

EL最主要的作用是获得四大域中的数据,格式${EL表达式}

EL获得pageContext域中的值:${pageScope.key};

EL获得request域中的值:${requestScope.key};

EL获得session域中的值:${sessionScope.key};

EL获得application域中的值:${applicationScope.key};

(3)EL从四个域中获得某个值${key};

—同样是依次从pageContext域,request域,session域,application域中的顺序获取属性,在某个域中获取后将不在向后寻找。
(4)举例:

先向各域中存储数据:

1)获得普通字符串

${requestScope.company}

2)获得User对象的值

${sessionScope.product.name}

3)获得List的值

${applicationScope.list.[1].name}//取第一个元素的名字(某个属性)

//如果没有写域的访问会从四个域中开始找(先后顺序)
${company}//显示pageContext中的内容
${product.name}
${list.[1].name}

三:EL的内置对象–11个(了解)

pageScope,requestScope,sessionScope,applicationScope

—- 获取JSP中域中的数据

param,paramValues - 接收参数.

相当于request.getParameter() rrquest.getParameterValues()

header,headerValues - 获取请求头信息

相当于request.getHeader(name)

initParam - 获取全局初始化参数

相当于this.getServletContext—全局().getInitParameter(name)

cookie - WEB开发中cookie

相当于request.getCookies()—cookie.getName()—cookie.getValue()

el的内置对象来接收参数那些,但开发中一般采用在servlet存储的功能,所以了解即可。

${pageContext.request.contextPath}//获取跟路径

此el表达式用处最广务必掌握,在我们的jsp表单提交的部分使用,获取动态web应用的根路径

四:EL执行表达式

内部可以进行表达式运算,或者true和false表示。

例如:${1+1} ${empty user} ${user==null?true:false}

empty是判断是否为空,是就返回true。