1EL主要功能
访问存储对象
对JavaBean的简化访问
对集合的简化访问
简单运算符
条件输出
2表达式概念
为计算和输出存储在标志位置的JAVA对象的值,JSP引入表达式语言(Expression Language即EL)。
四种属性范围
page(pageContext)/ pageScope
Request/ requestScope
Session/sessionScope
Application/applicationScope
3表达式语言的调用
格式:${expression}
访问作用域变量:JSP有四种存储范围,要输出此范围的内容,只要在表达式语言中用其名字。
如:${name}表示在pageContext、HttpServletRequest、HttpSession、ServletContext
(按此顺序) 中查找名为name的属性。如果找到,则调用它的toString()方法并返回调用的结果。
如果没有找到,则返回空字符串(不是null)
如果在pageContext、HttpServletRequest、HttpSession、ServletContext中
都存储了具有相同属性名的变量,则返回值是以预先定义好的次序搜索各个作用域时
找到的第一个属 性的值。否则必须指定属性的作用域。
如果在不同的属性范围中设置了同一个属性名称,则之后的同名属性无法找到。
4访问作用域属性
在Servlet中用如下代码向request中加入属性
request.setAttribute(“varName”,”varValue1”);
session.setAttribute(“varName”,”varValue2”);
然后在JSP中用如下代码获得属性
<%=session.getAttribute(“varName”)%>
在EL可简化为
${varName}
访问bean的属性
${beanName.beanProperty}
5表达式语言例子
EmployeeBean有两个属性:name和company,
分别为NameBean和CompanyBean对象。
NameBean有两个属性:firstName和lastName
CompanyBean有两个属性:companyName和business
在JSP页面中,使用以下方式访问:
<h1>FirstName:${emp.name.firstName}</h1>
<h1>LastName:${emp.name.lastName}</h1>
<h1>CompanyName:${emp.company.companyName}</h1>
<h1>Business:${emp.company.business}</h1>
访问集合List
在指定对象中查找作用域变量
6EL运算符
+ ${1+2}
- ${2-1}
* ${1*2}
/或div ${14/2}
%或mod ${1%2}
要在JSP中屏蔽EL功能,在EL表达式前加\,如\${3+4},则其不会当EL表达式执行。
7EL运算中关系运算符
==或eq ${1==2}或${1 eq 2}
!=或ne ${1!=2}或${1 ne 2}
<或lt ${1<2}或${1 lt 2}
>或gt ${11>2}或${1 gt 2}
<=或le ${1<=2}或${1 le 2}
>=或ge ${11>=2}或${11 ge 2}