一: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。