1、el表达式的概述:el表达式可以嵌入java代码,可以减少jsp脚本的编写。el表达式能代替jsp脚本,并且很容易实现脚本的功能。
2、从el从域中读取数据:概述中说到el表达式可以代替jsp脚本,并且很容易实现其功能。举个例子,如果我们要从request域中获取数据,需要用jsp脚本:<%@ request.getAttribute(name)%>,但是如果我们用el表达式写则很容易:${requestScope.name}。所以说el表达式减少jsp脚本的编写。
EL最主要的作用是获得四大域中的数据,格式${EL表达式}
EL获得pageContext域中的值:${pageScope.key};
EL获得request域中的值:${requestScope.key};
EL获得session域中的值:${sessionScope.key};
EL获得application域中的值:${applicationScope.key};
代码:(简单)
运行结果:
EL从四个域中获得某个值:${key},它和pageContext域一样,也是从范围小的域到范围大的域查找,如果找到则暂听,返回改值(jsp四个域的小:pageContext<request<session<application)
代码:
运行结果:
3、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()
pageContext- WEB开发中的pageContext.
pageContext获得其他八大对象
比如:${pageContext.request.contextPath}
相当于获得WEB应用的名称
代码:
运行结果:
<%=pageContext.getRequest().getContextPath%> 这句代码不能实现
4、执行表达式
例如${1+1}
${empty Object} 判断是否为空,如果是空则false,否则true
代码:
运行结果:
当字符串空串是,也认为为空
代码:
运行结果:
总结:el表达式比jsp的脚本要方便多,它可以减少代码量。只要有之前学习的基础,el表达式很容易理解。
如果有大佬发现错误或者补充请留言,谢谢,向您学习。。