JSP EL表达式的运用

  EL表达式的基本使用

  1访问bean属性

  第一种方式${user.name}

  容器一次从pageContext,request,session,application中查找(实际上是调用request.getAttribute("user"))绑定为"user"的对象,如果找到了则不再向下继续查找,找到了以后调用该对象的getName方法,最后将结果输出。如果都找不到则不输出。

  当然我们也可以制定查找的范围:

  表达式语言包含了如下11个内置对象:

  》pageContext:代表该页面的pageContext对象,与JSP的pageContext内置对象相同。

  》pageScope:用于获取page范围的属性值

  》requestScope:用于获取request范围的属性值

       》sessionScope:用于获取session范围的属性值

  》applicationScope:用于获取application范围的属性值

  》param:  用于获取请求的参数值

  》paramValues:用于获取请求的参数值,与param的区别在于,该对象用于获取属性值为数组的属性值。

  》head:  用于获取请求头的属性值

  》headerValues:用于获取请求头的参数值,与header区别在于,该对象用于获取属性值为数组的属性值。

  》initParam:  用于获取请求Web运用的初始化参数

  》cookie:  用于获取指定的cookie值

下面的JSP页面示范了如何使用表达式语言的内置对象方法。

 1 <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 3     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4 <html xmlns="http://www.w3.org/1999/xhtml">
 5 <head>
 6     <title> 表达式语言 - 内置对象 </title>
 7 </head>
 8 <body>
 9     <h2>表达式语言 - 内置对象</h2>
10     请输入你的名字:
11     <!-- 通过表单提交请求参数 -->
12     <form action="implicit-objects.jsp" method="post">
13         <!-- 通过${param['name']} 获取请求参数 -->
14         你的名字 = <input type="text" name="name" value="${param['name']}"/>
15         <input type="submit" value='提交'/>
16     </form><br/>
17     <% session.setAttribute("user" , "Tim");
18     //下面三行代码添加Cookie
19     Cookie c = new Cookie("name" , "Tom");
20     c.setMaxAge(24 * 3600);
21     response.addCookie(c);
22     %>
23     <table border="1" width="660" bgcolor="#aaaadd">
24         <tr>
25             <td width="170"><b>功能</b></td>
26             <td width="200"><b>表达式语言</b></td>
27             <td width="300"><b>计算结果</b></td>
28         <tr>
29             <!-- 使用两种方式获取请求参数值 -->
30             <td>取得请求参数值</td>
31             <td>${param.name}</td>
32             <td>${param.name}&nbsp;</td>
33         </tr>
34         <tr>
35             <td>取得请求参数值</td>
36             <td>${param["name"]}</td>
37             <td>${param["name"]}&nbsp;</td>
38         </tr>
39         <tr>
40             <!-- 使用两种方式获取指定请求头信息 -->
41             <td>取得请求头的值</td>
42             <td>${header.host}</td>
43             <td>${header.host}</td>
44         </tr>
45         <tr>
46             <td>取得请求头的值</td>
47             <td>${header["accept"]}</td>
48             <td>${header["accept"]}</td>
49         </tr>
50         <!-- 获取Web应用的初始化参数值 -->
51         <tr>
52             <td>取得初始化参数值</td>
53             <td>${initParam["author"]}</td>
54             <td>${initParam["author"]}</td>
55         </tr>
56         <!-- 获取session返回的属性值 -->
57         <tr>
58             <td>取得session的属性值</td>
59             <td>${sessionScope["user"]}</td>
60             <td>${sessionScope["user"]}</td>
61         </tr>
62         <!-- 获取指定Cookie的值 -->
63         <tr>
64             <td>取得指定Cookie的值</td>
65             <td>${cookie["name"].value}</td>
66             <td>${cookie["name"].value}</td>
67         </tr>
68     </table>
69 </body>
70 </html>

  2进行一些简单的计算,计算结果可以直接输出,也可以给JSP标签赋值。

  a算术运算:支持"+" "-", "*", "/"和"%"但是,“+”不能进行字符串的连接处理

  b关系运算符: ">"  "<"  "="  "!=" ">="  "<="

  c逻辑运算符:支持"&&" "||", "!"

  

原文地址:https://www.cnblogs.com/ArtsCrafts/p/EL.html