表达式语言(EL)简化了在Java Bean组件以及其他对象(如请求、会话、应用程序等)中存储的数据的访问。

EL中有许多隐含对象、运算符和保留字。

这是在JSP技术2.0版本中新增加的功能。

表达式语言(EL)的语法

${ expression }  

表达式语言中的隐含对象(EL)

表达式语言中有许多隐含对象,如下所示:

隐含对象用途
pageScope它将给定的属性名称与页面范围内设置的值映射起来
requestScope它将给定的属性名称与请求范围内设置的值映射起来
sessionScope它将给定的属性名称与会话范围内设置的值映射起来
applicationScope它将给定的属性名称与应用程序范围内设置的值映射起来
param它将请求参数映射到单个值
paramValues它将请求参数映射到一个值数组
header它将请求头名称映射到单个值
headerValues它将请求头名称映射到一个值数组
cookie它将给定的cookie名称映射到cookie值
initParam它将初始化参数映射
pageContext它提供对多个对象(请求、会话等)的访问

EL param示例

在此示例中,我们创建了两个文件index.jsp和process.jsp。index.jsp文件从用户处获取输入,并将请求发送到process.jsp,后者又使用EL打印用户的名字。

index.jsp

<form action="process.jsp">  
Enter Name:<input type="text" name="name" /><br/><br/>  
<input type="submit" value="go"/>  
</form>  

process.jsp

Welcome, ${ param.name }  

EL sessionScope示例

在此示例中,我们使用EL打印存储在会话范围内的数据。为此,我们使用了sessionScope对象。

index.jsp

<h3>welcome to index page</h3>  
<%  
session.setAttribute("user","sonoo");  
%>  
  
<a href="process.jsp">visit</a>  

process.jsp

Value is ${ sessionScope.user }  

EL cookie示例

index.jsp

<h1>First JSP</h1>  
<%  
Cookie ck=new Cookie("name","abhishek");  
response.addCookie(ck);  
%>  
<a href="process.jsp">click</a>  

process.jsp

Hello, ${cookie.name.value}  

EL中运算符的优先级

表达式语言中提供了许多运算符。它们的优先级如下:

[] .
()
-(一元) not ! empty
* / div % mod
+ - (二元)
< <= > >= lt le gt ge
== != eq ne
&& and
// or
?:

EL中的保留字

表达式语言中有许多保留字,如下所示:

ltlegtge
eqnetruefalse
andornotinstanceof
divmodemptynull

标签: JSP, JSP教程, JSP技术, JSP快速入门, JSP简单用法, JSP编程, JSP下载, JSP基本语法, JSP安装教程, JSP库, JSP指南, JSP基础教程, JSP初级教程, JSP进阶教程