EL表达式实例

1.普通字符串

request.setAttribute("hello", "hello world");

---------------------------------------------El表达式获取
<li>普通字符串</li><br>
hello(jsp脚本):<%=request.getAttribute("hello") %><br>
hello(el表达式,el表达式的使用方法$和{}):${hello }<br>
hello(el表达式,el的隐含对象pageScope,requestScope,sessionScope,applicationScope,
<br> 如果未指定scope,它的搜索顺序pageScope~applicationScope):${requestScope.hello }<br>
hello(el表达式,scope=session):${sessionScope.hello }<br>

--------------------------------------------页面输出
.普通字符串
hello(jsp脚本):hello world
hello(el表达式,el表达式的使用方法$和{}):hello world
hello(el表达式,el的隐含对象pageScope,requestScope,sessionScope,applicationScope,
如果未指定scope,它的搜索顺序为pageScope~applicationScope):hello world
hello(el表达式,scope=session):
<><><><><><><><><><><><><><><><><><><>

2.结构

Group group = new Group();
group.setName("尚学堂");

User user = new User();
   user.setUsername("张三");
   user.setAge(18);
   user.setGroup(group);
 
request.setAttribute("user", user);

---------------------------------------------El表达式获取
<li>结构,采用.进行导航,也称存取器</li><br>
姓名:${user.username }<br>
年龄:${user.age }<br>
所属组:${user.group.name }<br>

--------------------------------------------页面输出
.结构,采用.进行导航,也称存取器
姓名:张三
年龄:18
所属组:尚学堂
<><><><><><><><><><><><><><><><><><><>

3.map
Map mapValue  = new HashMap();
   mapValue.put("key1", "value1");
   mapValue.put("key2", "value2");

request.setAttribute("mapvalue", mapValue);


---------------------------------------------El表达式获取
<li>输出map,采用.进行导航,也称存取器</li><br>
mapvalue.key1:${mapvalue.key1 }<br>
mapvalue.key2:${mapvalue.key2 }<br>

--------------------------------------------页面输出
.输出map,采用.进行导航,也称存取器
mapvalue.key1:value1
mapvalue.key2:value2
<><><><><><><><><><><><><><><><><><><>

4.字符串数组
String[] strArray = new String[]{"a", "b", "c"};
request.setAttribute("strarray", strArray);

User[] users = new User[10];
  for (int i=0; i<10; i++) {
 User u = new User();
 u.setUsername("U_" + i);
 users[i] = u;
  }
request.setAttribute("users", users);

---------------------------------------------El表达式获取
<li>输出对象数组,采用[]和下标</li><br>
userarray[3].username:${users[2].username }<br>

--------------------------------------------页面输出
.输出对象数组,采用[]和下标
userarray[3].username:U_2
<><><><><><><><><><><><><><><><><><><>

5.ArrayList
List userList = new ArrayList();
   for (int i=0; i<10; i++) {
 User uu = new User();
 uu.setUsername("UU_" + i);
 userList.add(uu);
   }
request.setAttribute("userlist", userList);

---------------------------------------------El表达式获取
<li>输出list,采用[]和下标</li><br>
userlist[5].username:${userlist[4].username }<br>

--------------------------------------------页面输出
输出list,采用[]和下标
userlist[5].username:UU_4
<><><><><><><><><><><><><><><><><><><>

6.empty
request.setAttribute("value1", null);
request.setAttribute("value2", "");
request.setAttribute("value3", new ArrayList());
request.setAttribute("value4", "123456");

---------------------------------------------El表达式获取
<li>el表达式对运算符的支持</li><br>
 1+2=${1+2 }<br>
 10/5=${10/5 }<br>
 10 div 5=${10 div 5 }<br>
 10%3=${10 % 3 }<br>
 10 mod 3=${10 mod 3 }<br>
 <!--
   ==/eq
   !=/ne
   </lt
   >/gt
   <=/le
   >=/ge
   &&/and
   ||/or
   !/not
   //div
   %/mod
  --> 
  <li>测试empty</li><br>
  value1:${empty value1 }<br>
  value2:${empty value2 }<br>
  value3:${empty value3 }<br>
  value4:${empty value4 }<br>
  value4:${!empty value4 }<br>
--------------------------------------------页面输出
.el表达式对运算符的支持
1+2=3
10/5=2.0
10 div 5=2.0
10%3=1
10 mod 3=1

.测试empty
value1:true
value2:true
value3:true
value4:false
value4:true

 

你可能感兴趣的:(EL表达式实例)