EL

JSP表达式语言EL

JSP页面中显示结果 jsp:useBean和jsp:getProperty两个元素冗长而笨拙 
jsp:getProperty只支持对简单Bean属性的访问

 

使用JSP EL

<jsp:getProperty>的property属性只能访问Bean的属性,而不能访问嵌套的属性 
使用JSP EL(即表达式语言Expression Language)

<%@ page contentType="text/html; charset=gb2312" %> 
<html> 
<body>
我的狗的名字是:${person.dog.name} 
</body>
</html>


EL表达式和JSP脚本表达式
${person.name}

与JSP脚本表达式比较
室外温度是 <%= temp %> 度。
如果使用EL,则是: 室外温度是${temp}度。 
L表达式以“${”开始,以“}”结尾,而JSP脚本表达式是以“<%”开始,以“%>”结尾 。
EL表达式不能在脚本中定义变量 。目标是从JSP页面中消除Java代码


在EL表达式中使用隐式变量

类别              隐式变量名             描述
JSP             pageContext         用来访问JSP的隐式对象 
作用域          pageScope           与page作用域属性的名称和值相关联的 Map 类
                 requestScope         与request作用域属性的名称和值相关联的 Map 类
                 sessionScope          与session作用域属性的名称和值相关联的 Map 类
                 applicationScope     与application作用域属性的名称和值相关联的 Map 类
请求参数           param              包含请求参数字符串的Map 类
                  paramValues         包含请求参数字符串数组( String[])的 Map 类
请求头           header                 包含请求头字符串的 Map 类
                 headerValues          包含请求头字符串数组(String[])的 Map 类
Cookie          cookie                  按名称存储请求附带的 cookie 的 Map 类


EL运算符 
EL运算符可以分为四类 
属性和集合
访问运算符
算术运算符
关系运算符
逻辑运算符

访问属性和集合的EL运算符: 
a.b:返回a的属性b的值。 
a[b]:返回a的键或索引为b的值。


EL函数

为JSP提供了完全的业务逻辑和表现逻辑分离 
使用EL函数的步骤
方法类(.java):包含需要在JSP中使用的Java方法; 
标记库描述文件(*.tld):映射每个Java方法到XML函数名; 
部署描述文件(web.xml):映射TLD到标记库URI 
JSP页面(*.jsp):使用标记库URI和函数名调用方法。


SP EL的主要目的是简化JSP的开发
EL表达式总是放在大括号里,而且前面有一个美元符前缀 
EL中提供了隐式变量
EL函数为JSP提供了完全的业务逻辑和表现逻辑分离 
JSTL1.1规范中定义了五个标准标记库,分别是核心标记库、XML标记库、SQL标记库、国际化标记库、函数标记库 
JSTL核心标记包括通用标记<c:catch>和<c:out>、变量支持标记<c:set>和<c:remove>、
流程控制标记<c:if>、<c:choose>、<c:forEach>和<c:forTokens>、URL处理标记<c:url>、<c:import>和<c:redirect>

posted @ 2016-05-11 23:10  顾锦书-王丹  阅读(178)  评论(0编辑  收藏  举报