一、什么是EL
EL(Expression Language)表达式语言 由两个开发团队共同开发 JSP 标准标签库专家组 JSP 2.0 专家组 EL表达式语言的语法 ${Expression} JSP EL 表达式用于以下情形 在JSP页面中输出静态内容 为标准标签和自定义标签提供属性值
二、作用(get )
-
获取四个作用域中的值 (重要)
注意:必须首先将信息设置到四个作用域中,然后才能使用EL表达式进行GET,el表达式只能进行get
${范围.名称}
注意:
-
范围可以省略,省略之后会按照从小到大的范围去查找
-
名称中如果保含. –等特殊符号,不能使用.访问,要使用${范围[“名称”]}
<% pageContext.setAttribute("pa", "page"); request.setAttribute("re", "request"); session.setAttribute("se", "session"); application.setAttribute("app", "application"); request.setAttribute("r.a", "request1"); request.setAttribute("user", new User("admin","123456")); %> ${pageScope.pa} <!-- 相当于pageContext.getAttribute("pa") --> ${requestScope.re} <!-- 相当于request.getAttribute("re") --> ${sessionScope.se}${applicationScope.app} <!-- 范围如果省略,会按照从小到大的范围去找 --> <!-- 如果说名称中包含。-等特殊符号,访问的时候需要用[]访问 --> ${requestScope["r.a"]} <!-- 对象.属性,本质调用的是属性对应的getter user_name==getUser_name()--> ${requestScope.user.user_name}
-
-
可以通过pageContext获取其它内置对象
${pageContext.session.id}//获取sessionId
<!-- 得到请求对象 -->${pageContext.request} <!-- 得到session对象 -->${pageContext.session} <!-- pageContext.getServletContext(),获取application -->${pageContext.servletContext}${pageContext.session.id} <!-- 得到请求对象后,再得到项目的根路径 -->${pageContext.request.contextPath}
所以在项目中的jsp页面中如果引用绝对路径,可以这样写了
<link type="text/css" href="${pageContext.request.contextPath}/css/bootstrap.min.css" rel="stylesheet"/> <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.12.3.min.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath}/js/bootstrap.min.js"></script>
-
获取客户端请求参数的信息
${param.请求参数的名称}// 相当于request.getParameter(“userName”)
${paramValues. 请求参数的名称}// 相当于request.getParameterValues(“userName”),返回的是一个String类型的数组
<!-- 得到是一个String -->${param.uname}<br/><!-- 得到是一个String[] -->${paramValues.uname[0]}
-
获取请求的头部信息
${header.请求头部信息名称}
${headerValues.请求头部信息名称}
如:
${header[“User-Agent”]}
${headerValues["Accept-Language"][0]}
-
获取web应用的配置信息
${initParam.名称},
<%=request.getServletContext().getInitParameter("code")%>
配置信息在web.xml中配置
code
utf-8
-
获取cookie中的信息
${cookie.cookie名称.value}
如:
${cookie.JSESSIONID.value}
-
可以执行各种运算(如关系、逻辑、算术、三目)