美文网首页
EL表达式常见用法

EL表达式常见用法

作者: 青春代言人 | 来源:发表于2019-01-04 12:01 被阅读0次

EL表达式的简介:

            EL表达式是一种JSP技术,能够代替JSP中原本要用Java语言进行显示的语句,(作用:)使得代码更容易编写与维护。最基本的语法是${express}。

EL表达式获取并显示域对象中的属性值:

            语法:${域对象Scope.属性名}  或 ${属性名}

                     例:

                            获取request域对象中的属性:${requestScope.属性名} 或  ${属性名}

                             类似于:request.getAttribute(属性名);

EL表达式获取并显示域对象中的数组,中的元素

               语法:${域对象Scope.数组名[索引]} 或 ${数组名[索引]} 或 ${域对象['数组名'][索引]}

                      例:

                            <%

                                    Object[] obj = new Object[]{"123",123};

                                    session.setAttribute("objs",obj);

                            %>

                                ${sessionScope['objs'][0]} 或 ${objs[0]}

EL表达式获取并显示域对象中的集合,中的元素

                语法:${域对象Scope.集合名[索引]}${集合名[索引]}

                        例:

                                    <%

                                            List<Integer> nums = new ArrayList<Integer>();

                                                nums.add(Integer.valueOf("100"));

                                                nums.add(200);

                                                nums.add(new Integer(300));

                                                pageContext.setAttribute("num",nums);

                                            Map<String,Object> map = new HasMap<>();

                                                 map.put("name","哈哈");

                                                 map.put("age",123);

                                                 map.put("sex",“男”);

                                                 pageContext.setAttribute("map",map);

                                     %>    

                        List集合:

                                ${num[0]}<br/>

                                ${num[1]}<br/>

                                ${num[2]}<br/>

                        Map集合:

                                ${map['name']}

                 注:如果是Set集合则索引为每个元素的位置,如果是Map集合则索引                          为map集合中的键值;

EL表达式获取域对象中javabean对象中的属性值:

                    <%

                                Person p = new Person();

                                Address address = new Address();

                                address.setCity("浙江");//Adress类中有个私有String属性为city

                                p.setName("mike");//Person类中有私有String属性为name

                                p.setAddress(address);//Person类中有私有Adress属性为address

                                session.setAttribute("person", p);//存入sessionScope

                    %>

                        ${person.name}( 从WEB域中找到键值为person的对象,然后再person对象中找到   name属性)

                        ${person.address.city}(先获取域对象中的javabean对象,然后又获取javabean对象中的address对象,再从中获取city属性)

          使用[]方式获取:

                          ${person['name']}

                           ${person['address']['city']}

EL表达式中执行运算:

               A)语法:${运算表达式}

               B)常见运算符:==(eq)   !=(ne)    <(lt)    >(gt)    <=(le)    >=(ge)    &&(and)   ||(or)   !(not)

                C)判断是否为空:${empty name }

                        注:如果获取判断的对象为空字符串或null都会返回true;

                D)三目运算符:${name == null?"null":name }

EL表达式获取值的原理:

            原理:EL表达式在获取某个对象的属性值时,先将某个属性值首字母变成大写,然后加上get前缀,拼接成getter方法,通过反射将该对象构建出来,然后再对该对象执行getter方法,这与私有属性并没有关系,所以要注意,JavaBean的属性名要小写,且要有getter方法,不然会报错。

 注:

   1)、 EL表达式只能读数据,不能修改数据。

   2)、EL表达式只能出现在静态部分,不能出现在java代码块中。

   3)、 EL表达式不会抛出异常,在出现异常时,EL表达式将会以空白显示。

   4)、表达式只能从四大域中读取数据。

   5)、如果四大域内中有相同属性名,那么EL表达式将会从最小范围的域依次往最大域查找

                域对象的范围(由小到大):page→request→session→appliction;

   6)、查找到相关内容后将会停止查找,并显示查找到的第一条数据。

   7)、如果没有查找到对应的值,则会返回空字符串,而不是null;

  8)、除了用.方式获得对象的属性,也可以用[ ]方式,当然遇到键值名字中有特殊意义的字符,如         '-'(mike-abc)、'.'(aa.bb.cc)或者key值为数字开头,则只能用[ ]方式。

相关文章

  • EL表达式常见用法

    EL表达式的简介: EL表达式是一种JSP技术,能够代替JSP中原本要用Java语言进行显示的语句,(作用:)使...

  • eljstl

    EL表达式 概念:expression language EL的基本用法 获取对象的属性值 注意:user.use...

  • JSTL与EL表达式笔记

    EL表达式应用 初始EL表达式 EL表达式 EL(Expression Language)表达式语言用于简化JSP...

  • EL表达式

    EL表达式语法 ${ EL expression}其中:$ 表示EL表达式的开始。EL expression指定...

  • Java 8:一文掌握 Lambda 表达式

    本文将介绍 Java 8 新增的 Lambda 表达式,包括 Lambda 表达式的常见用法以及方法引用的用法,并...

  • Java 8:一文掌握 Lambda 表达式

    本文将介绍 Java 8 新增的 Lambda 表达式,包括 Lambda 表达式的常见用法以及方法引用的用法,并...

  • EL表达式详解

    一、EL表达式简介 EL 全名为Expression Language。EL主要作用: 获取数据:EL表达式主要用...

  • 4.El表达式

    1.EL表达式 1.EL表达式的作用 2. EL语法

  • 【JavaWeb】EL表达式

    EL表达式 EL表达式语言,用于简化JSP的输出;EL表达式的基本语法:${表达式};示例: 学生姓名:${stu...

  • 17.3EL表达式

    一、EL表达式简介 EL 全名为Expression Language。EL主要作用:1、获取数据EL表达式主要用...

网友评论

      本文标题:EL表达式常见用法

      本文链接:https://www.haomeiwen.com/subject/werhrqtx.html