JSP教程-表达式语言(EL)在JSP中的应用
表达式语言(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中的保留字
表达式语言中有许多保留字,如下所示:
lt | le | gt | ge |
---|---|---|---|
eq | ne | true | false |
and | or | not | instanceof |
div | mod | empty | null |