nullEL
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式EL表达式李 颖EL简介EL简介EL是JSP表达式语言,全名为Expression Language。
在JSP页面中使用EL表达式,可以获取并显示页面数据,并可以简化对变量和对象的访问。
EL具有如下特点:
可得到PageContext属性值
可直接访问JSP的内置对象,如page,request, session,application等
运算符丰富,有关系运算符、逻辑运算符、算术运算符等
扩展函数可与JAVA类的静态方法对应EL语法EL语法EL表达式语言的语法
${EL Expression}
EL表达式都是以”${“开始,以”}”结束。
EL表达式可以直接在JSP页面中使用,也可以作为元素属性的值,还可以在自定,但不能在脚本元素中使用。
EL语法EL语法例:
${ “Hello world” } //输出字符串常量
${ str } //输出字符串变量str的值
${ 3 + 2 } //输出3+2的结果
${ user.name } //输出user对象的name属性
${ user[“name”] } //同上
${ sessionScope[“user”].name } //同上
EL语法EL语法“.”与 “[ ]”运算符
两种运算符来存取数据。下列两者所代表的意思是一样的
例:
${sessionScope.user.sex}
等价于
${sessionScope.user["sex"]}
区别:
当要存取的属性名称中包含一些特殊字符,如 “.” 或“–” 等并非字母或数字的符号,就一定要使用 [ ],例如:
${user.My-Name } 改为 ${user["My-Name"] }EL语法EL语法EL表达式保留关键字
所谓保留字的意思是指变量在命名时,应该避开上述的名字,以免程序编译时发生错误
EL语法EL语法EL存取变量数据的方法
例:${username}
对于没有指定范围的JSP容器会先从page范围找。假如找不到,再依序到request、session、application范围,此过程中找到了变量将不再找下去。
EL语法EL语法
也可以指定要取出哪一个范围的变量
EL语法EL语法例:
ELdemo1
通过request.getAttribute()取得属性的方法
ELdemo2
改写成EL表达式的形式
注:对比两个程序,如果没有该属性,程序的输出结果有什么不同。
总结:
通过表达式语句可以方便的进行属性的输出
如果属性不存在,则通过表达式语句自动将null设置为“”
EL语法EL语法例:
ELdemo3
演示属性查找的顺序
ELdemo4
演示带范围的属性查找方式
null自动类型转换
EL表达式中,变量会自动作数据类型的转换
${param.count + 20}
当param.count为10时,则结果为30
而不用向以前那样如下:
String str_count = request.getParameter("count");
int count = Integer.parseInt(str_count);
count = count + 20;
*EL语法EL 隐含对象Version 1.0EL 隐含对象EL 隐含对象总共有11 个将它分成三类:
1. 与范围有关的隐含对象
2. 与输入有关的隐含对象
3. 其他隐含对象EL 隐含对象EL 隐含对象EL 隐含对象EL 隐含对象1. 与范围有关的隐含对象
applicationScope
sessionScope
requestScope
pageScope
四个隐含对象的说明 :
pageScope范围和JSP的page相同,即当前页。
requestScope范围和JSP的request相同,即从当前页通过forward或include方式转到的另外JSP 网页。
sessionScope范围和JSP的session相同,就是用户持续在服务器连接的时间内。
applicationScope范围和JSP的application相同,是从服务器一开始执行服务到服务器关闭为止。EL 隐含对象EL 隐含对象在JSP网页当中取得特定范围变量属性,必须引用getAttribute(),并且指定所要取得的变量名称 :
application.getAttribute("name")
通过EL的存取方式:
${applicationScope.name}
EL 隐含对象EL 隐含对象2. 与输入有关的隐含对象
param
paramValues
以前在JSP中获得用户的请求参数:
request.getParameter(String name)
request.getParameterValues(String name)
在EL中则可以使用param和paramValues
${param.name}
${paramValues.name}
param与paramValues最大的好处便是简化了request参数数据的存取 。
EL 隐含对象EL 隐含对象例:
ELdemo6
演示通过浏览器接收参数
ELdemo7.htm/ELdemo7.jsp
演示通过表单接收多个同名参数
ELdemo8
演示如何取出List集合中的内容
ELdemo9
演示如何取得Map集合中的内容EL 隐含对象EL 隐含对象3.其他隐含对象
pageContext
pageContext是页面上下文,可以 使用它来取得其他有关用户
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
或页面的详细信息,如访问以下对象:ServletContext、session、request、response。
例:ELdemo5
EL 隐含对象EL 隐含对象PageContext类中的常用方法有:EL 隐含对象EL 隐含对象Cookie
cookie是一个小的文本文件,它是以key、value的方式存储的,这个文本文件通常存在于浏览器的暂存区内。假若我们在cookie中设定一个名称为userID的值,那么可以使用${cookie.userID}来取得它。
header和headerValues
header储存用户浏览器和服务端用来沟通的数据,当用户请求服务器的网页时,会送出一个记载要求信息的头文件。另外在很少机会下,有可能同一头名称拥有不同的值,此时必须使用headerValues 来取得这些值。EL 隐含对象EL 隐含对象initParam
web.xml 的环境参数(Context)
例:
userid
mike
以前的做法:
String userid = (String)application.getInitParameter("userid");
EL里的做法:
${initParam.userid}EL 运算符EL 运算符EL运算符分为四大类:
1、EL 算术运算符
2、EL 关系运算符
3、EL 逻辑运算符
4、EL 其他运算符EL 运算符EL 运算符1、EL 算术运算符
例:ELdemo10
注意:在EL表达式前加“\”表达式的内容将直接输出。EL 运算符EL 运算符2、EL 关系运算符
例:ELdemo11
EL 运算符EL 运算符3、EL 逻辑运算符
例:ELdemo12
EL 运算符EL 运算符4、EL 其他运算符
Empty 运算符
${ empty param.name }
例如:变量A不存在,则${empty A}返回的结果为true.
条件运算符
${ A ? B : C}
括号运算符
括号运算符主要用来改变执行优先权
例如:${ A * (B+C) }
例:ELdemo13nullEL 运算符EL实例EL实例EL表达式在MVC模式中的应用
例:ELMVC/ELservlet/ELdemo
分析程序,了解EL的应用EL 自定义函数EL 自定义函数EL中允许自定义和使用函数,调用方法如下:
前缀:函数名(参数1,参数2…)
函数的定义与自定义标签相似
(1)编写实现类,在其中实现要使用的函数
(2)编写对应的tld文件
(3)在JSP页面中使用函数
注意:编写实现类时,函数对应的方法必须是public static型EL 自定义函数EL 自定义函数EL 自定义函数注意事项:
编写完标签库描述文件后,需要将它放置到\WEB-INF目录中。
TLD文件中的
元素用指定该TLD文件的URI,在JSP文件中需要通过这个URI来引入该标签库描述文件。
元素用于描述一个EL自定义函数,其中:
子元素用于指定EL自定义函数的名称。
子元素用于指定完整的Java类名。
子元素用于指定Java类中的静态方法的签名,方法签名必须指明方法的返回值类型及各个参数的类型,各个参数之间用逗号分隔。EL 自定义函数EL 自定义函数例:ELFun
访问页面时传一个参数username,观察结果
http://localhost/ELFun/Myfun.jsp?username=张三
null精韧不怠,日进有功