EL表达式语言
时间:2010-05-24 来源:mcuflower
EL语言是JSTL输出(输入)一个JAVA表达式的表示形式。 在JSTL中,EL语言只能在属性值中使用。EL语言只能通过建立表达式${exp1}来进行调用。在属性值中使用表达式有三种方式。 1、 value属性包含一个表达式 <some:tag value="${expr}"/> 在这种情况下,表达式值被计算出来并根据类型转换规则赋值给value属性。比如:<c:out value="${username}" />中的${username}就是一个EL,它相当于JSP语句<%=request.getAttribute(“username”)%>或<%=session.getAttribute(“username”)%> 2、 value属性包含一个或多个属性,这些属性被文本分割或围绕 <some:tag value="some${expr}${expr}text${expr}"/> 在这种情况下,表达式从左到右进行计算,并将结果转换为字符串型(根据类型转换规则),并将结果赋值给value属性 3、 value属性仅仅包含文本 <some:tag value="sometext"/> 在这种情况下,字符串型属性value将根据类型转换规则转换为标签所希望的类型。 EL语言的操作符 取得某个对象或集合中的属性值 为了获得集合中的属性,EL支持以下两种操作 1. 使用.操作符来获得有名字的属性。例如表达式${user.username}表明对象user的username属性 2. 使用[]操作符来获得有名字或按数字排列的属性。 表达式${user["username"]}和表达式${user. username }含义相同 表达式${row[0]} 表明row集合的第一个条目。 在这里user是一个类的对象,它的属性username必须符合标准JavaBean的规范,即必须为username属性定义相应的getter、setter方法。 Empty操作符(空值检查) 使用empty操作符来决定对象、集合或字符串变量是否为空或null。例如: ${empty param.username} 如果request的参数列表中的username值为null,则表达式的值为true。 EL也可以直接使用比较操作符与null进行比较。如${param.firstname == null}。 比较操作符
数字运算符与逻辑运算符均与JAVA语言相同,不再列表。 1 EL表达式用${}表示,可用在所有的HTML和JSP标签中 作用是代替JSP页面中复杂的JAVA代码. 2 EL表达式可操作常量 变量 和隐式对象. 最常用的 隐式对象有${param}和${paramValues}. ${param}表示返回请求参数中单个字符串的值. ${paramValues}表示返回请求参数的一组值.pageScope表示页面范围的变量.requestScope表示请求对象的变量.sessionScope表示会话范围内的变量.applicationScope表示应用范围的变量. 3 <%@ page isELIgnored="true"%> 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中默认的启用EL语言. 4 EL语言可显示 逻辑表达式如${true and false}结果是false 关系表达式如${5>6} 结果是false 算术表达式如 ${5+5} 结果是10
5 EL中的变量搜索范围是:page request session application 点运算符(.)和"[ ]"都是表示获取变量的值.区别是[ ]可以显示非词类的变量 |