05-JSP 表达式语言
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
变量 搜索 范围 依次 为
• Page 、 Request、 Seesion、 Application
© 2012 Inspur Group
Inspur Education
EL运算符
运算符
三元运算 符:a?b:c
算术
关系
逻辑
Empty
运算符 * / 或 div + % 或mod
描述 乘法 除法 加法 减法 取余
<table> 标签中 的 EL 表达式
<table> 标签中 的 EL 表达式
演示:示例 1
© 2012 Inspur Group
Inspur Education
EL的应用
<html> <%@ page contentType="text/html; charset=" language="java" <head><title>Param.html</title></head> import="java.sql.*" errorPage="" %> <body> <html> <form <head><title>Param.jsp</title></head> method="get" action="param.jsp"> <body> <p> 姓名:<input type="text" name="username" size="15" /> <p> 姓名: 密码: ${param.username}</br> <input type="password" name="password" size="15" /> <p> 密码: 性别: ${param.password}</br> <input type="radio" name="sex" value="Male" checked>男 性别:${param.sex}</br> <input type="radio" name="sex" value="FeMale" / >女 <p> 兴趣: 兴趣: ${paramValues.habit[0]} <input type="checkbox" name="habbit" value="Reading">看书 ${paramValues.habit[1]} <input type=“checkbox” name=“habbit” value=“Game”>玩游戏 </body> <input type="checkbox" name="habbit" value="Travel">旅游 </html> <input type="checkbox" name="habbit" value="Music">听音乐 <input type="checkbox" name="habbit" value="TV">看电视 <P> <input type="submit" value="传送"> <input type="reset" value="清除"></P> </form></body></html>
param
pageScope
paramValues
initParam
cookie
header requestScope sessionScope applicationScope
headerValues
© 2012 Inspur Group
Inspur Education
隐式对象
pageContext:提供对页面属性的访问
调用Java方法
• EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL 表达式调用Java类的方法。
© 2012 Inspur Group
Inspur Education
EL获取数据
使用EL表达式获取数据语法:“${标识符}” EL表达式语句在执行时,会调用 pageContext.findAttribute方法,用标识符为关键字, 分别从page、request、session、application四个域 中查找相应的对象,找到则返回相应对象,找不到则 返回”” (注意,不是null,而是空字符串)。 示例:${user}
cookie:返回映射至单个 Cookie 对象的 Cookie 名称
© 2012 Inspur Group
Inspur Education
EL的应用
<html> <td>或</td> <td>${'${'}true or true}</td> <body> <td>${true or true}</td> <h1>EL Logic</h1> </tr> border="1"> <table <tr> <tr> <td> 或</td> <td><b> 逻辑运算</b></td> <td>${'${'}true || false}</td> <td><b>EL 表达式 </b></td> <td>${true || false}</td> <td><b>Result</b></td> </tr> </tr> <tr> <tr> <td> 非 </td> <td> 与 </td> <td>${'${'}not true}</td> <td>${'${'}true and true}</td> <td>${not true}</td> <td>${true and true}</td></tr> </tr> <tr> <tr> <td>与</td> <td> 非</td> <td>${'${'}true && false}</td> <td>${'${'}'!false}</td> <td>${true && false}</td></tr> <td>${!false}</td> <tr> </tr> </table> </body> </html>
执行运算
• 利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻 辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。 ${user==null}
获取web开发常用对象
• EL 表达式定义了一些隐式对象,利用这些隐式对象,web开 发人员可以很轻松获得对web常用对象的引用,从而获得这些 对象中的数据。
注意:有些Tomcat服务器如不能使用EL表达式
(1)升级成tomcat6 (2)在JSP中加入<%@ page isELIgnored="false" %>
© 2012 Inspur Group
Inspur Education
EL主要作用
获取数据
• EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类 型的web域 中检索java对象、获取数据。(某个web域 中的对 象,访问javabean的属性、访问list集合、访问map集合、访 问数组)
Inspur Education
JSP表达式语言(jsp EL)
© 2012 Inspur Group
Inspur Education
知识点回顾
JavaBean概念、优点及在jsp中的使用; JSP 标准动作及如何使用;
© 2012 Inspur Group
Inspur Education
本章目标
EL简介 掌握EL主要作用 掌握EL获取数据基本用法 掌握EL运算符 了解EL保留字 了解如何禁用EL 掌握常用的EL隐式对象(内置对象) EL的应用及实例演示
© 2012 Inspur Group
Inspur Education
EL简介
是expression language这两个英文单词的缩写(表 达式语言) 它是jsp2.0规范中的一个技术,如果想解析el表达式的 话,必须使用支持Jsp2.0/servlet 2.4(及以上版本)技 术的web服务器(tomcat5.0以上版本)均支持el表达式 语法:${ expression}
. 和 [ ] 区别 结合JSTL的foreach标签,使用EL表达式也可以很轻 松迭代各种类型的数组或集合,示例:
• 迭代数组 • 迭代collection类型集合 • 迭代map类型集合
© 2012 Inspur Group
Inspur Education
EL的基本用法
El表达式获取变量的值,可以用 .或者是[]这两个符号。
true false
不计算 计算 EL EL
© 2012 Inspur Group
Inspur Education
禁用 EL
<%@page isELIgnored="false" %> 设置为 false <html> <head> <title>表达式示例</title> </head> <body bgcolor="#ffffff"> <h1>启用表达式语言</h1> <form method="post" action="expressionexample.jsp"> <b>${'First Name: '}<input type="text“ value=“${‘请输入您的名字'}" /></b> JSP 引擎计算 EL <b>${'Last Name: '}<input type="text“ value=“${‘请输入您的姓氏'}" /></b> <input type=“submit” name=“Submit” value=“${‘提交表单'}"> <input type=“reset” value=“${‘重置表单'}"> </form> </body> </html>
运算符 < 或 lt
描述 小于
运算符 &&或and || 或or !或not
描述 逻辑与 逻辑或 逻辑非
运算符 Empty
描述 检查 空值
> 或 gt
< = 或 le > = 或 ge = = 或 eq
大于
小于等于 大于等于 等于
!=或ne
不等于
© 2012 Inspur Group
Inspur Education
isELIgnored
© 2012 Inspur Group
Inspur Education
获得web开发常用对象
EL表达式语言中定义了11个隐含对象,使用这些隐含对象可以很方便地 获取web开发中的一些常见对象,并读取这些对象的数据。 语法: ${隐式对象名称} :获得对象的引用
隐式对象
pageContext
© 2012 Inspur Group
Inspur Education
隐式对象
paramValues:返回映射至客户端的请求参数的一组值 header:返回一个请求标题名称,然后将该值映射至单个字符串值
headerValues:返回映射至请求标题的一组值
initParam:返回映射至单个值的上下文初始化参数名称
保留字
程序中不应使用保留字作为变量名或方法的名 称 描述 运算符 描述 运算符
and or not eq ne le 与 或 非 等于 不等于 小于等于 ge true false null empty div 大于等于 True False Null 清空 相除
gt
大于
mod
取模
Байду номын сангаас
© 2012 Inspur Group
© 2012 Inspur Group
Inspur Education
EL获取数据
EL表达式也可以很轻松获取JavaBean的属性,或获 取数组、Collection、Map类型集合的数据,例如:
• ${user.address.city} • ${user.list[0]}:访问有序集合某个位置的元素 • ${map.key} : 获得map集合中指定key的值
Inspur Education
禁用 EL
在 JSP 中禁用计算,以忽略 JSP 中 EL 表达式的执 行 禁用EL计算的语法为: <%@page isELIgored=“true|false”%>
<html> <html> <%@ “ true" %> <%@ page page isELIgnored isELIgnored= = “ false" %> <head> <head> <title> 表达式语言 </title> <使用使用 JSP JSP 表达式语言 </title> </head> </head> <body> <body> <h1> 表达式语言 </h1> <h1> 表达式语言 </h1> <b> 浏览器类型是 </b> <b>浏览器类型是</b> ${header["User-Agent"]}. ${header["User-Agent"]}. </body> </body> </html> </html>
pageScope:返回页面范围的变量名,这些名称已映射至相应的值
requestScope:返回对请求对象的属性的访问权限 sessionScope:返回会话范围的变量名,这些名称已映射至相应的值 applicationScope:返回应用范围内的变量,并将变量名映射至相应的值 param:返回客户端的请求参数的字符串值