EL表达式语言
①EL的基本语法
1.EL概述
EL即Expression Language,表达式语言,是JSP2.0中引入的一种计算和输出Java对象的简单语言,为不熟悉JSP页面开发的人提供了一种开发JSP应用程序的新途径。
2.使用EL的前提条件----确认EL没有被禁用。(JSP2.0中默认不禁用EL)
在web.xml中写入以下语句将禁用EL
<jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <el-ignored>true</el-ignored> ... </jsp-config>
3.语法格式为${…}形式,如:
${“hello”}将在页面上输出”hello”字符串
4.EL的特点
1)<%=request.getParameter(“username”) %>
等价于:${param.username}
2)<%=request.getAttribue(“id”) %>
等价于:${requestScope.id}
5.EL的存取范围
requestScope 1, sessionScope 2, applicationScope 3,pageScope 4
${applicationScope.username} 3
执行顺序是:4->1->2->3
②EL的运算符
举例:
<% String arrFruit={“a”,”b”,”c”};>
request.setAttribute(“fruit”,arrFruit);
%>
${requestScope.fruit[1]}
<% Map map=new HashMap();
map.put(“1”,”a”); map.put(“2”,”b”);
map.put(“3”,“c”);
session.setAttribute(“fruit”,map); %>
${sessionScope.fruit[“1”]}
2. 算术运算符---+, -, *, /或div, %或mod
举例:
${16/3}, ${16 div 3}, ${5 mod 2}, ${5%2}
注意:${“a”+”b”}写法错误,应写成:${“a”}${“b”}
3.关系运算符
==/eq
!=/ne
</lt
<=/le
>/gt
>=/ge
举例:
${1==3}, ${1 le 3},
${param.pwd1!=param.pwd2}
4.逻辑运算符
&&/and
||/or
!/not
举例:
${username==“root”|| pwd==“123”}
${!username==“root”}
5.empty运算符
判断一个对象是否为空,和null不同。
举例:
${empty sessionScope.user}
${not empty pageScope.user}
6.条件运算符
? :
举例:
${empty user?”user为空”:user}
7.运算符优先级【从高到低】
[] .
()
-(负号) not ! Empty
* /div % mod
+ -(减号)
< lt<=le > gt>=ge
== eq !=ne
&& and
|| or
?:
③EL的隐含对象
隐含对象 | 对象类型 | 说明 | |
页面上下文 | PageContext | javax.servlet.jsp.PageContext | 用于访问JSP内置对象 |
A1 | param | java.util.map | 包含页面所有参数的名称和对应值 |
A2 | paramValues | java.util.map | 包含页面所有参数的名称和对应的多个值 |
A3 | header | java.util.map | 包含header名和值 |
A4 | headerValues | java.util.map | 包含header名和多个值 |
A5 | cookie | java.util.map | 包含cookie名和值 |
A6 | initParam | java.util.map | 包含servlet上下文初始参数名和值 |
B1 | pageScope | java.util.map | 包含page范围内的属性 |
B2 | requestScope | java.util.map | 包含request范围内的属性 |
B3 | sessionScope | java.util.map | 包含session范围内的属性 |
B4 | applicationScope | java.util.map | 包含application范围内的属性 |
注:A1~A6 代表访问环境信息
B1~B4 代表访问作用域信息
1.PageContext用于访问JSP内置对象
${PageContext.session.username}
2.param和paramValues用于获得请求参数值
<inputname=“check” type=“checkbox” id=“like” value=“English”>
<inputname=“check” type=“checkbox” id=“like” value=“Chinese”>
<inputname=“check” type=“checkbox” id=“like” value=“Math”>
爱好为:
${paramValues.like[0]}${paramValues.like[1]}${paramValues.like[2]}
3.header和headerValues用于获取http请求的header值
${header.host}, ${header[host]},
${header[“user-agent”]}
4.pageScope等用于访问作用域范围的内置对象
${sessionScope.user}
5.cookie用于访问设置的cookie对象
<%Cookie cookie=new Cookie(“user”,”abc”);
reponse.addCookie(“cookie”);%>
${cookie.user.value}—将显示abc
6.initParam用于获取Web初始参数值
<context-param>
<param-name>programer</param-name>
<param-value>FataliBud</param-value>
…
${initParam.teacher}—将显示:FataliBud
最后:其他资料可参加百度百科需学习。
最后更新:2017-04-03 14:54:11