- EL表达式的概述
1.在JSP开发中,为了获取Servlet域对象中存储的数据,经常要书写很多代码,这样做会使jsp页面混乱,难以维护,为此,JSP2.0版本中提供了EL表达式,它是一种简单的数据访问语言 - 什么是EL
1.EL可以简化JSP的书写方式,因此在JSP学习中,掌握EL是相当重要的,使用EL首先要学习EL表达式.首先要学习它 的语法.EL表达式很简单,都是从”${“符号开始的,”}”结束的具体格式如下
${表达式}
2.EL的使用:内置对象
内置对象名称
pageScope page作用域
requestScope request作用域
sessionScope session作用域
applicationScope application作用域
param 获取一个参数
paramValues 获取一组参数
header 获得一个请求头
headerValues 获得一组请求头
pageContext JSP上下文对象
initParam 全局初始化参数
cookie cokkie
<%--初始化数据--%>
<%
pageContext.setAttribute("name","pValue");
session.setAttribute("name","sValue");
request.setAttribute("name","rValue");
application.setAttribute("name","aValute");
%>
<%--使用jsp脚本获取数据--%>
<%=pagetContext.getAttribute("name")%>
<%=session.getAttribute("name")%>
<%=request.getAttribute("name")%>
<%=application.getAttribute("name")%>
<% s使用EL表达式%>
${pageScope.name}
${requestScope.name}
${sessionScope.name}
${applicationScope.name}
<%--依次获得数据--%>
${name}
//请求路径:/项目名/index.jsp?username=admin&hobby=chouyan&hobby=hejiu
<%--
param.xxx 对应 request.getParamter("xxx");
params.xxx 对应 request.getParamters("xx");
--%>
<%
${param.username}<br/>
${param.hobby}<br/><%--获取第一个参数--%>
${paramValues.hobby}<br/><%--获取一个数组--%>
${paramValues.hobby[1]}<%-如果是数组,用下标获取-%>
%>
<%--
header.xxx 对应request.getHeader("xxx");
headerValues.xxx 对象request.getHeaders("xxx");
--%>
${header.acept}<br/>
${header.accept-Encoding}<br/><%--非法的,有异常的,"-"被解析成减号.使用"/"进行单个EL表达式转义--%>
${header['accept-Encoding']}<br/>
${headerValues['accept-Encoding'][0]}
<%--
pageContext对应pageContext对象
jsp:<%=((HttpServletRequest)pageContext.getRequest).getContextPath%><br/>
EL:${pageContext.request.contextPath}
--%>
<
cookie没有对应的api.底层使用request.getCookies()获取所有的cookie,然后遍历放到Map中Map<name,obj>
-
${cookie}</br><
${cooke.company}<
${cookie.company.name}<
1) []用于有下标的数据(数组,集合) .用于有属性的数据(map,对象)
2) 如果属性名中包含有特殊的字符.必须使用[]