EL表达式
因为热爱,所以拼搏。 –RuiDer
EL表达式
1 | EL:Expression Language 表达式语言,是在JSP 2.0引入的一个新特性,用于JSP文件中数据访问。它的作用相当于替代了JSP中 |
主要作用
1 | 1.数据访问 |
基本语法
1 | 形如 ${var} |
特殊表达式 :
1 | 1.${empty var}表示var是否为空,如果为空,输出true,否则,输出false |
隐含对象
EL表达式定义了是一个隐含对象,他们都是java.util.Map类型,EL表达式可以通过他们Web应用中的数据。
1
2
3
4
5
6
7
8
9
10
11
12
13
14 1.applicationScope:把Web应用范围内的属性名和属性值进行映射。
2.cookie:把客户请求的cookie名和cookie对象进行映射
3.header:把Http请求头部的项目名和所有匹配的项目值进行映射。比如${header.host}等同于<%=request.getHeader("host")%>
4.headerValues:把请求头部的项目名和项目值的数组进行映射。
5.initParam:把web中的初始化参数名和参数值进行映射。
6.pageScope:把页面范围内的属性名和属性值进行映射。
7.pageContext:代表javax.servlet.jsp.PageContext对象
8.param:把请求参数名和参数值进行映射。
9.paramValues:把请求参数名和请求参数值的数组映射。
10.requestScope:请求范围内的属性名和属性值的映射。
11.sessionScope:会话范围内的属性名和属性值进行映射。
注意:对于含有 "-"字符的属性名或者参数名,必须采用"[]"来访问数据。比如:
${user["user-name"]}而不是${user.user-name}
重头戏
EL表达式访问的数据是特定范围内的,不是任何命名变量,比如web应用范围内的,会话范围内,page范围内等特定范围内的数据。
1
2
3
4
5
6 比如:
<%
String name="tom";
%>
${name}
访问上面命名的name变量是错误的,如果在上面所述的特定范围内没有name属性名或者参数名,返回结果为空。
作者寄语
做过项目的都知道,EL表达式会在项目中普遍使用,尤其在前后端整合,相当便捷。这是我的博客