EL表达式实例

xiaoxiao2026-05-20  17

[  ]和.运算符EL使用”[  ]”和”.”操作符来访问数据。访问JavaBean对象user的属性name可以写成如下两种形式${user.name}${user[“name”]}需要注意的是:对于连字符(-)或者其它特殊字符的字符串只能用“[  ]”操作符,而不能用“.”操作符,这也是“[  ]”和“.”操作符的区别

----今天刚看了《尚学堂_王勇_Struts_JSTL_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 worldhello(el表达式,el表达式的使用方法$和{}):hello worldhello(el表达式,el的隐含对象pageScope,requestScope,sessionScope,applicationScope,如果未指定scope,它的搜索顺序为pageScope~applicationScope):hello worldhello(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.mapMap 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:value1mapvalue.key2:value2

 

4.字符串数组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.ArrayListList 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.emptyrequest.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=310/5=2.010 div 5=2.010%3=110 mod 3=1

.测试emptyvalue1:truevalue2:truevalue3:truevalue4:falsevalue4:true

转载请注明原文地址: https://www.6miu.com/read-5049052.html

最新回复(0)