EL表达式从域中获取对象、list、map等值的功能

您所在的位置:网站首页 怎么取出list中的指定元素值 EL表达式从域中获取对象、list、map等值的功能

EL表达式从域中获取对象、list、map等值的功能

2023-09-12 08:55| 来源: 网络整理| 查看: 265

## EL表达式获取值               (EL表达式的使用有两个,一个是运算,一个是获取值)             1.获取值                1.el表达式只能从域对象中获取值                2.语法                  1.${域名称.键名}:从指定域中获取指定的键值                      ※域名称:                         1.pageScope                -->pageContext                         2.requestScope            -->request                         3.sessionScope            -->session                         4.applicationScope       -->application(ServletContext)

                     ※举例:在request域中存储了name =张三                      ※获取:${requestScope,name} 在这里插入图片描述               (如果没对应的键值,比如sb,他就会输出空字符串,不会输出null打乱布局,也不会报错,有的话就会原样输出) 在这里插入图片描述

                 2.${键名}:表示依次从最小的域中去查找是否有该键对应的值,直到找到为止。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述               (从第三个数据可以看到获取的name是request域中的,如果想要获取session域中的小狗,就在前面加sessionScope就可以了,当然以上只能来获取字符串的,但将来需要的不仅仅只是字符串类型的)

                 3.获取对象、List集合、Map集合的值                    1.对象:${域名称.键名.属性名}

                      ※本质是会去调用对象的getter方法     User.java

package monster.zf.domain; import java.text.SimpleDateFormat; import java.util.Date; /** * @author Monster丶ZF * @version 1.8 * @Package monster.zf.domain * @date 2019/8/17 10:48 */ public class User { private String name; private int age; private Date birthday; public String getBirStr(){ if (birthday != null){ //1.格式化日期对象 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //2.返回字符串 return sdf.format(birthday); }else { return ""; } } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }

    El3.jsp

el获取对象的数据 el获取对象中的值 ${requestScope.user} Name --> name --%> ${requestScope.user.name} ${user.age} ${user.birthday} ${user.birStr}

在这里插入图片描述                    2.List集合:${域名称.键名称[索引]} 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述               (如果角标越界了,在EL表达式里边,做了内部的优化,如果越界了什么都不显示,显示一个空字符串) 在这里插入图片描述 在这里插入图片描述               (如果存对象) 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

                   3.Map集合:${域名称.键名称.key名称}               (域名称.键名称先获取的是Map集合,在获取键对应的值) 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述               (另一种写法,别忘记引号) 在这里插入图片描述 在这里插入图片描述               (如果map里面放的是一个对象)

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述                    4.空运算符:empty                       ※功能:用于判断字符串、集合、数组对象是否为null,或者长度是否为0                       ※${empty list}:如果要想让el表达式返回为true,那么这个list集合的引用对象要么为null,那么长度为0.

              (${empty list},如果把前面的empty删了 ${list}就表示从域中去找查找有没有一个键的名称是list的值,把empty还原回来就是判断域中的list这个键对应的值是否是空,或者长度是否为0,) 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

                      ※${ not empty list}:表示判断字符串、集合、数组对象是否不为null,并且长度大于0 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

            2.隐式对象:               (在el表达式中不用直接创建,可以直接拿来用这些对象,就称为隐式对象,前面用的pageScope,requesstScope,sessionScope,applicationScope就是,类似jsp的内置对象)                      ※el表达式中有11个隐式对象                      ※pageContext:                        ※获取jsp其他八个内置对象                          ※${pageContext.request.contextpath}:动态获取虚拟目录 在这里插入图片描述 在这里插入图片描述               ( 在jsp页面动态获取虚拟目录,重定向时用到) 在这里插入图片描述 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3