EL表达式语言
来源:互联网 发布:负面情绪 知乎 编辑:程序博客网 时间:2024/04/30 11:02
①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的隐含对象
隐含对象对象类型说明页面上下文PageContextjavax.servlet.jsp.PageContext用于访问JSP内置对象A1paramjava.util.map包含页面所有参数的名称和对应值A2paramValuesjava.util.map包含页面所有参数的名称和对应的多个值A3headerjava.util.map包含header名和值A4headerValuesjava.util.map包含header名和多个值A5cookiejava.util.map包含cookie名和值A6initParamjava.util.map包含servlet上下文初始参数名和值B1pageScopejava.util.map包含page范围内的属性B2requestScopejava.util.map包含request范围内的属性B3sessionScopejava.util.map包含session范围内的属性B4applicationScopejava.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
最后:其他资料可参加百度百科需学习。
- EL--EL表达式语言基础
- jstl EL(表达式语言)
- 引入表达式语言(EL)
- EL表达式语言
- JSP表达式语言(EL)
- EL表达式语言
- EL表达式语言
- EL表达式语言介绍
- JSTL EL表达式语言
- 表达式语言(EL)
- EL表达式语言
- EL表达式语言
- JSP- EL表达式语言
- jsp---->EL表达式语言
- EL表达式语言
- EL表达式语言
- EL表达式语言
- EL表达式语言
- 字符串的内容一旦声明则不可改变 Why?
- STL中优先队列的使用方法
- 表单重复提交
- jsp连接mysql数据库
- (阶段三 dijkstra1.4)HDU 1596 find the safest road(最短路的变形题:求乘积,求最大值)
- EL表达式语言
- Linux下C++动态库的生成和使用
- 数论基础练习赛-解题报告
- John
- 碎片攻击
- C++中引用和指针的区别
- opencv学习_12 (harris角点检测)
- 你肯定不知道的科技界九位同性恋领袖
- 15.IO(四)【IO包的其他类】