Jsp---EL表达式
2016-07-30 22:58
323 查看
EL表达式简介
EL 全名为Expression Language。EL主要作用:
获取数据:
EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的java对象中获取数据。
执行运算:
利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。
获取web开发常用对象
EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
调用Java方法
EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。
获取数据
使用EL表达式获取数据语法:
EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。
示例:userEL表达式也可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据,例如:{user}
EL表达式也可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据,例如:
{user.address.city}
user.list[0]:访问有序集合某个位置的元素{user.list[0]}:访问有序集合某个位置的元素
{map.key} : 获得map集合中指定key的值
结合JSTL的foreach标签,使用EL表达式也可以很轻松迭代各种类型的数组或集合,示例:
迭代数组
迭代collection类型集合
迭代map类型集合
empty运算符:检查变量是否为null或“空”,很好用!!!
二元表达式:user!=null?user.name:“”,很好用!!![]和.号运算符语法:{user!=null?user.name : “”} ,很好用!!!
[ ] 和 . 号运算符
语法:{运算表达式},EL表达式支持如下运算符:
获得web开发常用对象
例子:
index.jsp
EL 全名为Expression Language。EL主要作用:
获取数据:
EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的java对象中获取数据。
执行运算:
利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。
获取web开发常用对象
EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
调用Java方法
EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。
获取数据
使用EL表达式获取数据语法:
“${标识符}”
EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。
示例:userEL表达式也可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据,例如:{user}
EL表达式也可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据,例如:
{user.address.city}
user.list[0]:访问有序集合某个位置的元素{user.list[0]}:访问有序集合某个位置的元素
{map.key} : 获得map集合中指定key的值
结合JSTL的foreach标签,使用EL表达式也可以很轻松迭代各种类型的数组或集合,示例:
迭代数组
迭代collection类型集合
迭代map类型集合
empty运算符:检查变量是否为null或“空”,很好用!!!
二元表达式:user!=null?user.name:“”,很好用!!![]和.号运算符语法:{user!=null?user.name : “”} ,很好用!!!
[ ] 和 . 号运算符
语法:{运算表达式},EL表达式支持如下运算符:
获得web开发常用对象
例子:
index.jsp
<%@page import="cn.hncu.elWeb.domain.User"%> <%@page import="javax.jws.soap.SOAPBinding.Use"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <h2>演示EL表达式技术---格式:${表达式} </h2> <h2>注意,EL表达式的功能:按小到大的顺序依次从4个容器中读取数据(如果读到则后面的容器跳过相当于pageContext.findAttribute()),※数据必须要放在容器中</h2> <% pageContext.setAttribute("pageName", "page_Tom"); request.setAttribute("reqName", "req_Tom"); session.setAttribute("sessName", "session_Tom"); application.setAttribute("appName", "application_Tom"); %> ${pageName},${reqName},${sessName},${appName}<br/> <hr/><br/><br/> <!-- 用EL表达式读取JavaBean中的信息,注意“表达式”是“属性名” --> <% User user=new User(); user.setAge(20); user.setName("Jack"); request.setAttribute("user", user); %> ${user}<br/> ${user.name} ,${user.age} <hr/><br/><br/> <!-- 用EL表达式读取Map中的信息 --> <% Map<String ,Object> map=new HashMap<String,Object>(); map.put("name", "Rose"); map.put("age", 30); map.put("tel", "13333333"); map.put("friend", user); pageContext.setAttribute("m", map, pageContext.PAGE_SCOPE); %> ${m}<br/> 姓名:${m.name } 男朋友${m.friend.name} <hr/><br/><br/> <!-- 用EL表达式读取List中的信息 --> <% List list=new ArrayList(); list.add("aaa"); list.add(user); list.add(map); session.setAttribute("list", list); %> ${list}<br/> ${list[0]},,${list[1].name},$男朋友:::${list[2].friend.name} <!-- 演示EL表达式中的运算 --> 1 可以使用算术运算符: + - * / % 等 <br/> ${user.age*10}<br/> 2 可以使用比较运算符: == != < = > >= 等 <br/> ${user.name=="Jack"}<br/> ${user.age >= 20 }<br/> 3 逻辑运算符: && || !(非) 等 <br/> ${user.name=="Jack" && user.age>19 }<br/> 4 条件运算符: 即“?”号表达式 <br/> ${user.name=="Jack" ? 100: 50 }<br/> 5 empty运算符: 如果表达式的值为null 或者 不存在该变量 或者 是一个List或Map但其中不包含元素 ---这些返回的都是true <br/> ${empty dk } ---true ${empty m} ---true ${empty user} ---false ${empty list} ---true <hr/><br/><br/> <!-- 用EL表达式获取EL表达式中的隐藏对象--EL表达式语言中定义了11个隐含对象 --> <!-- 从指定的容器中读取数据 --> ${pageScope.m}<br/> ${requestScope.user}<br/> ${sessionScope.list}<br/> <%-- ${applicationScope} --%> ${param}//演示访问地址:http://localhost:8080/elWeb/?name=Jack&age=21<br/> ${param.name}<br/> ${paramValues}<br/> ${paramValues.name[0]}<br/> ${header}<br/> ${header.host}<br/> ${header.cookie}<br/> ${cookie.JSESSIONID.value } <br/> <a href="${pageContext.request.contextPath}/jsps/aa.jsp"> 跳到另一个页面</a> <br/><br/> <a href="${pageContext.request.contextPath}/ShowServlet"> el使用的综合示例页面 </a> <br/><br/><br/><br/> </body> </html>
相关文章推荐
- JAVA JSP页面技术之EL表达式整理归纳总结
- JSP基本功 pageContext对象page,request,session,application四个域对象的使用及区别JSP运行原理和九大隐式对象及下载文件、访问次数的代码总结出el表达式简单
- JSP EL表达式 获得 request的GET/POST方法
- Servlet/JSP-08 EL表达式
- JSP页面中,JavaScript可以使用EL表达式吗?
- JSP EL表达式详细介绍(转)
- JSTL配合EL表达式在JSP中的应用
- Jsp中EL表达式的使用
- Jsp中EL表达式的使用
- jsp- el表达式
- jsp页面中,el表达式获取list长度
- jsp之EL表达式
- jsp页面不识别EL表达式,显示效果为EL表达式自身字符串
- JSP 截取字符串 { EL表达式截取字符串}
- jsp页面的js 以及 单独的js文件中 使用EL表达式
- JSP/Servlet Web 学习笔记 DaySix —— EL表达式
- jsp内置对象和el表达式
- JSP——EL表达式学习笔记
- jsp页面中的EL表达式不被解析的问题
- JSP 中EL表达式用法详解