EL表达式和JSTL标签库使用详解
来源:互联网 发布:文言文现代文互译软件 编辑:程序博客网 时间:2024/06/07 17:19
获取JavaBean属性必须要实例化
强制类型转化
<% Employee employee = (Employee)request.getAttribute("employee"); Computer comp = employee.getComputer(); String manufacturer = comp.getManufacturer();%>
如果页面编写出现逻辑错误,将会导致代码执行错误,并且JSP页面编译页面时也会产生错误
解决办法
使用EL表达式简化
什么是EL
EL即Expression Language(表达式语言)
EL的功能
替代JSP页面中的复杂代码
EL的语法
${ EL exprission }
${ bean.name } 或 ${ bean['name'] }
${bean.name}实质是调用bean的getName()方法
注: 1 el通过.和[]来存取数据。 例如${applicationScope.user.userName}或者${applicationScope.user["userName"]}
2 如果存取的属性名称包含一些特殊符号,如"."或者是"-"等非字母或数字符号必须用[]
3 applicationScope.user["user-Name"]
4 如果使用变量来传入,那么也只能使用[].例如
<%String data="username";%>
${applicationScope.user[data]}
5 当然有四个隐含对象:applicationScope,sessionScope,requestScope,pageScope.与application ,session,request,pageContext相对应.例如applicationScope用来获取application范围的属性值
自动转换类型
EL得到某个数据时可以自动转换类型
对于类型的限制更加宽松
使用简单
相比较在JSP中嵌入Java代码,EL应用更简单
EL语法
以“${”作为开始,以“}”作为结束
直接使用变量名获取值$
${ username }
变量属性范围名称
属性范围 EL中的名称
page pageScope,例如${pageScope.username},表示在page范围内查找username变量,找不到返回Null
request requstScope
session sessionScope
application applicationScope
EL运算符
运算符”[ ]”
运算符”.”
作用:
获取对象属性
获取对象集合中的数据
在Session中保存了一个(list)集合users
简单应用:输出姓名显示
<%
Map names = new HashMap();
names.put("one","LiYang");
names.put("two","WangHua");
request.setAttribute("names",names);
%>
姓名:${names.one}<br/>
姓名:${names["two"] }<br/>
EL隐式对象介绍
对象名称 说 明
pageScope 返回页面范围的变量名,这些名称已映射至相应的值
requestScope 返回请求范围的变量名,这些名称已映射至相应的值
sessionScope 返回会话范围的变量名,这些名称已映射至相应的值
applicationScope 返回应用范围内的变量,并将变量名映射至相应的值
param 返回客户端的请求参数的字符串值
paramValues 返回映射至客户端的请求参数的一组值
pageContext 提供对用户请求和页面信息的访问
使用了EL表达式可以简化JSP页面代码,但是如果需要进行逻辑判断怎么办?
点击查看JSTL标签库介绍
- EL表达式和JSTL标签库使用详解
- EL表达式和JSTL标签库使用
- EL表达式和JSTL标签库使用
- EL表达式和JSTL标签详解
- JSP和El表达式和JSTL标签库使用
- JSP页面中EL表达式语言和jstl标签库的使用详解
- JSTL核心标签库和EL表达式的联合使用
- EL表达式和JSTL标签库
- EL表达式和JSTL标签库
- EL表达式和JSTL标签库
- EL表达式 和 JSTL 标签库
- EL表达式和JSTL标签库
- EL表达式和JSTL标签库
- EL表达式和JSTL标准标签库
- EL表达式和JSTL标签库
- EL表达式和JSTL标签
- EL表达式和 JSTL标签
- el表达式和jstl标签
- ssh出现的问题
- How to: Shellcode to reverse bind a shell with netcat(如何使用netcat进行shellcode反向链接)
- Opencv图像在MFC中显示的几种方法
- 关于Java序列化和反序列化的理解以及概念和例子
- http协议get发送请求
- EL表达式和JSTL标签库使用详解
- 倒排索引的基础知识
- 自学java之线程状态转换
- jquery ajax()方法传值乱码问题
- 利用数组栈将中缀表达式转换成后缀表达式
- lesson_06_block
- 烘焙的注意事项
- UITableVIew实现类似于电话本的首字母索引
- 数据库操作FMDB