EL表达式语言
2013-11-10 20:29
357 查看
①EL的基本语法
1.EL概述
EL即Expression Language,表达式语言,是JSP2.0中引入的一种计算和输出Java对象的简单语言,为不熟悉JSP页面开发的人提供了一种开发JSP应用程序的新途径。
2.使用EL的前提条件----确认EL没有被禁用。(JSP2.0中默认不禁用EL)
①使用\可以禁用EL
②使用page指令中的isELIgnored=true也可以禁用EL
在web.xml中写入以下语句将禁用EL
3.语法格式为${…}形式,如:
${“hello”}将在页面上输出”hello”字符串
4.EL的特点
①可以访问JavaBean的属性
②可以访问JSP的所有作用域
③可以与JSTL结合,也可以与JavaScript结合使用
④可以执行各类运算
⑤节省代码,如:
1)<%=request.getParameter(“username”) %>
等价于:${param.username}
2)<%=request.getAttribue(“id”) %>
等价于:${requestScope.id}
5.EL的存取范围
•系统默认从page中去找,然后依次是request, session, application,如果都没有找到,则返回null。
•查找时使用以下前缀:
requestScope 1, sessionScope 2,
applicationScope 3,pageScope 4
•例如:${pageScope.username} 4…
${applicationScope.username} 3
执行顺序是:4->1->2->3
②EL的运算符
1.存取运算符
2.算术运算符
3.关系运算符
4.逻辑运算符
5.Empty运算符
6.条件运算符
7.运算符的优先级
1.存取运算符------.和[]
•.通常使用.来获取属性
•[]当表达式中已存在.,以及有数组,列表和映射时,用[]
举例:
<% 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的隐含对象
注: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
最后:其他资料可参加百度百科需学习。
1.EL概述
EL即Expression Language,表达式语言,是JSP2.0中引入的一种计算和输出Java对象的简单语言,为不熟悉JSP页面开发的人提供了一种开发JSP应用程序的新途径。
2.使用EL的前提条件----确认EL没有被禁用。(JSP2.0中默认不禁用EL)
①使用\可以禁用EL
②使用page指令中的isELIgnored=true也可以禁用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的特点
①可以访问JavaBean的属性
②可以访问JSP的所有作用域
③可以与JSTL结合,也可以与JavaScript结合使用
④可以执行各类运算
⑤节省代码,如:
1)<%=request.getParameter(“username”) %>
等价于:${param.username}
2)<%=request.getAttribue(“id”) %>
等价于:${requestScope.id}
5.EL的存取范围
•系统默认从page中去找,然后依次是request, session, application,如果都没有找到,则返回null。
•查找时使用以下前缀:
requestScope 1, sessionScope 2,
applicationScope 3,pageScope 4
•例如:${pageScope.username} 4…
${applicationScope.username} 3
执行顺序是:4->1->2->3
②EL的运算符
1.存取运算符
2.算术运算符
3.关系运算符
4.逻辑运算符
5.Empty运算符
6.条件运算符
7.运算符的优先级
1.存取运算符------.和[]
•.通常使用.来获取属性
•[]当表达式中已存在.,以及有数组,列表和映射时,用[]
举例:
<% 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范围内的属性 |
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
最后:其他资料可参加百度百科需学习。
相关文章推荐
- DIALOG开发中的ALV
- [LeetCode] Best Time to Buy and Sell Stock
- Java中的对象池技术
- CF 136B Ternary Logic
- FZU 2138 && FOJ11月赛G题 容斥
- 死锁活锁饥饿
- C语言打印统计单词长度的直方图<The C Programming Language>课后习题
- __asm__ __volatile__ GCC的内嵌汇编语法 AT&T汇编语言语法(一)
- C++ primer读书笔记——5.12 类型转换
- 新手入门 acm 输入输出练习
- 网页视频插件
- FZU 2135 && FOJ11月赛E题
- oracle学习笔记-1
- HTML文本框 圆角显示 样式设置方法
- 文思海辉大厦介绍-摘自网络
- Ajax的简介
- Mac OS X v10.5.8安装Weblogic 12.1
- FZU 2135 && FOJ11月赛D题 模拟题
- 可执行文件的包含信息
- Oracle学习笔记 之 sqlplus 用法