细说EL表达式
        【摘要】 
                    
                        
                    
                    
 文章目录
 EL表达式1. 概念:2. 作用:3. 语法:4. 注意:5. 使用:
   
  
 
 
EL表达式 
1. 概念: 
Expression Language表达式语言 
2. 作...
    
    
    
    EL表达式
1. 概念:
Expression Language表达式语言
2. 作用:
替换和简化jsp页面中java代码的编写
3. 语法:
${表达式}
4. 注意:
- jsp默认支持el表达式的。如果要忽略el表达式 
  - 设置jsp中page指令中:isELIgnored="true"忽略当前jsp页面中所有的el表达式
- \${表达式}:忽略当前这个el表达式
 
- 设置jsp中page指令中:
5. 使用:
- 运算:
运算符:
- 算数运算符:+ - * /(div) %(mod)
- 比较运算符:> < >= <= == !=
- 逻辑运算符:&&(and) ||(or) !(not)
- 空运算符:empty- 功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0
- ${empty list}:判断字符串、集合、数组对象是否为null或者长度为0
- ${not empty str}:表示判断字符串、集合、数组对象是否不为null 并且 长度>0
 
<body>
    <%
        //在域中存储数据
        session.setAttribute("name","李四");
        request.setAttribute("name","张三");
        session.setAttribute("age","23");
        request.setAttribute("str","");
    %>
<h3>el获取值</h3>
${requestScope.name}
${sessionScope.age}
${sessionScope.haha}
${name}
${sessionScope.name}
</body>
  
 - 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
获取值
- el表达式只能从域对象中获取值
- 语法:
- .${域名称.键名}:从指定域中获取指定键的值
域名称:
1. pageScope		--> pageContext
2. requestScope 	--> request
3. sessionScope 	--> session
4. applicationScope --> application(ServletContext)
  
 - 1
- 2
- 3
- 4
- 举例:在request域中存储了name=张三
- 获取:${requestScope.name}
- .${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止。
 
 
获取对象、List集合、Map集合的值
-  对象: ${域名称.键名.属性名}- 本质上会去调用对象的getter方法
 
-  List集合: ${域名称.键名[索引]}
-  Map集合: 
 ${域名称.键名.key名称}
 ${域名称.键名["key名称"]}
<body>
    <%
        User user = new User();
        user.setName("张三");
        user.setAge(23);
        user.setBirthday(new Date());
        request.setAttribute("u",user);
        List list = new ArrayList();
        list.add("aaa");
        list.add("bbb");
        list.add(user);
        request.setAttribute("list",list);
        Map map = new HashMap();
        map.put("sname","李四");
        map.put("gender","男");
        map.put("user",user);
        request.setAttribute("map",map);
    %>
<h3>el获取对象中的值</h3>
${requestScope.u}<br>
<%--
    * 通过的是对象的属性来获取
        * setter或getter方法,去掉set或get,在将剩余部分,首字母变为小写。
        * setName --> Name --> name
--%>
    ${requestScope.u.name}<br>
    ${u.age}<br>
    ${u.birthday}<br>
    ${u.birthday.month}<br>
    ${u.birStr}<br>
    <h3>el获取List值</h3>
    ${list}<br>
    ${list[0]}<br>
    ${list[1]}<br>
    ${list[10]}<br>
    ${list[2].name}
    <h3>el获取Map值</h3>
    ${map.gender}<br>
    ${map["gender"]}<br>
    ${map.user.name}
</body>
  
 - 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 隐式对象:
- el表达式中有11个隐式对象
- pageContext:获取jsp其他八个内置对象
 ${pageContext.request.contextPath}:动态获取虚拟目录
文章来源: hiszm.blog.csdn.net,作者:孙中明,版权归原作者所有,如需转载,请联系作者。
原文链接:hiszm.blog.csdn.net/article/details/109606486
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
             
           
评论(0)