EL表达式用法
来源:互联网 发布:javascript经典例子 编辑:程序博客网 时间:2024/06/05 22:53
获取数据(1)
使用EL表达式获取数据语法:“${标识符}”
EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。
注意,EL表达式的功能:按小到大的顺序依次从4个容器中读取数据(如果读到则后面的容器跳过),※数据必须要放在容器中
示例:
<% pageContext.setAttribute("pageName", "page_Jack"); request.setAttribute("requestName", "request_Jack"); session.setAttribute("sessionName", "session_Jack"); application.setAttribute("applicationName", "application_Jack");%>${pageName},${requestName},${sessionName},${application}<br/>
获取数据(2)
EL表达式也可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据,例如:
${user.address.city}
${user.list[0]}:访问有序集合某个位置的元素
${map.key} : 获得map集合中指定key的值
结合JSTL的foreach标签,使用EL表达式也可以很轻松迭代各种类型的数组或集合,示例:
迭代数组
迭代collection类型集合
迭代map类型集合
<!-- 用EL表达式读取Map中的信息 --> <% Map<String, Object> map=new HashMap<String, Object>(); map.put("name", "Rose"); map.put("sex", "Female"); map.put("age", 25); map.put("tel", "13812345678"); map.put("friend", user); //一定要把数据放到容器中 request.setAttribute("map", map); %> ${map.name},${map.sex},${map.age}<br/> 朋友: ${map.friend.name} <hr/><br/><br/> <!-- 用EL表达式读取List中的信息 --> <% List list=new ArrayList(); list.add("Mike"); list.add(user); list.add(map); session.setAttribute("list", list); %> ${list[0]},${list[1].name}<br/> ${list[2].friend.name}
执行运算
语法:${运算表达式},EL表达式支持如下运算符:
还有一个empty运算符: 如果表达式的值为null 或者 不存在该变量 或者 是一个List或Map但其中不包含元素 ---这些返回的都是true
示例:
<!-- 演示EL表达式中的运算 --> 1 可以使用算术运算符: + - * / % 等 <br/> ${user.age+10}<br/> 2 可以使用比较运算符: == != <= > >= 等 <br/> ${user.name=="张三"}<br/> 3 逻辑运算符: && || !(非) 等 <br/> ${user.name=="Tom" && user.age<20}<br/> 4 条件运算符: 即“?”号表达式 <br/> ${user.name!="张三" ? 100:50}<br/> 5 empty运算符: 如果表达式的值为null 或者 不存在该变量 或者 是一个List或Map但其中不包含元素 ---这些返回的都是true <br/> ${empty dd}---true<br/> ${empty map}---false<br/> ${!empty user}---true<br/> ${empty list}---false<br/>
获得web开发常用对象
EL表达式语言中定义了11个隐含对象,使用这些隐含对象可以很方便地获取web开发中的一些常见对象,并读取这些对象的数据。
语法:${隐式对象名称} :获得对象的引用
隐含对象名称 描 述 pageContext对应于JSP页面中的pageContext对象(注意:取的是pageContext对象。)
pageScope代表page域中用于保存属性的Map对象requestScope 代表request域中用于保存属性的Map对象sessionScope代表session域中用于保存属性的Map对象applicationScope 代表application域中用于保存属性的Map对象param表示一个保存了所有请求参数的Map对象paramValues表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[]header表示一个保存了所有http请求头字段的Map对象headerValues同上,返回string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]cookie表示一个保存了所有cookie的Map对象initParam表示一个保存了所有web应用初始化参数的map对象示例:
<!-- 从指定的容器中读取数据 --> ${pageScope.user}<br/> ${requestScope.map}<br/> ${sessionScope.list[0]}<br/> <br/> ${header}<br/> ${header.host}<br/> ${header.cookie}<br/> ${cookie.JSESSIONID.value}<br/> <br/> 演示访问地址:http://localhost:8080/elWeb_mine/?name=Jack&age=21<br/> ${param}<br/> ${param.name}<br/> ${paramValues}<br/> ${paramValues.name[0]}<br/>
0 0
- EL 表达式用法
- EL表达式用法
- El表达式 empty用法
- EL表达式用法总结
- EL表达式基本用法
- EL 表达式的用法
- el表达式函数用法
- EL表达式常见用法
- EL表达式常见用法
- EL表达式用法
- EL表达式用法
- EL表达式用法
- EL表达式的基本用法
- el表达式函数的用法
- EL表达式的基本用法
- el 表达式用法(转)
- el 表达式用法(转)
- El表达式的简单用法
- Linux nice命令详解
- 一次完整的HTTP事务是怎样一个过程?
- 剑指Offer----面试题31:连续子数组的最大和
- 我的第一篇博客
- hdu5772String problem
- EL表达式用法
- C#控制台 创建一维int型数组
- 静态员初始化
- DP-爬楼梯
- 一期项目总结
- poj1236——Network of Schools(强连通分量+缩点)
- github项目提交失败 master -> master (non-fast-forward)
- java多线程CountDownLatch用法
- 进阶项目8.3-学生成绩系统