EL(Expression Language)是一门表达式语言,替换Java脚本<%=…%>。
<%= %> 有以下问题
注意:EL对null进行处理, 如果是null,不显示
格式:${…}
例如:${1 + 2}
如果希望整个JSP忽略EL表达式,需要在page指令中指定isELIgnored=”true”。
如果希望忽略某个EL表达式,可以在EL表达式之前添加“\”,例如:\${1 + 2}。
${empty “”},可以判断字符串、数据、集合的长度是否为0,为0返回true。(存在返回false)
empty还可以与not或!一起使用。${not empty “”}
empty()函数内的变量在以下情况会返回true:
EL一共11个内置对象,无需创建即可以使用。这11个内置对象中有10个是Map类型的,最后一个是pageContext对象。
EL 最常用的,就是获取域中的数据, ${属性名}前面的requestScope(域对象)可以省略
获取指定域中的数据: 域内置对象.属性名
全域查找: ${属性名}从域的小范围到大范围
首先从page域查找, 如果page域找到, 直接返回page域的数据
如果page域没有, 去request域查找, 如果找到, 返回request域的数据
如果request域没有, 去session域查找, 如果找到, 返回session域的数据
如果session域没有, 去application域查找, 如果找到, 返回application域的数据
如果application域没有, 返回null null不显示
param:Map<String,String>类型,与request.getParameter()方法相同。
paramValues:paramValues是Map<String, String[]>类型,当一个参数名,对应多个参数值时(例:复选框)
header: Map<String,String>类型,用来获取请求头。
headerValues:headerValues是Map<String,String[]>类型。当一个请求头名称,对应多个值
initParam:initParam是Map<String,String>类型。它对应web.xml文件中的<context-param>参数。
<!--初始化参数--> <context-param> <param-name>encoder</param-name> <param-value>UTF-8</param-value> </context-param>
cookie:cookie是Map<String,Cookie>类型,其中key是Cookie的名字,而值是Cookie对象本身。
常用方法:${pageContext.request.contextPath} 获取项目名
等同于<%=request.getContextPath() %>
原文:https://www.cnblogs.com/64Byte/p/12890942.html