EL表达式(运算符,获取值,隐式对象)

EL表达式

EL表达式:
  1. 概念:Expression Language 表达式语言
  2. 作用:替换和简化jsp页面中Java代码的编写
  3. 语法:${表达式}
    ${3 > 4}
    
  4. 注意:
    1. jsp默认支持EL表达式
    2. 忽略单个El表达式(在$前加上反斜线)?{3 > 4}
    3. 忽略页面所有El表达式,配置jsp的page中的属性isELIgnored=“true”
  5. 使用
    1. 运算

      • 运算符:
        1. 算数运算符: + - * /(div) %(mod)
        2. 比较运算符:> < >= <= == !=
        3. 逻辑运算符:&&(and) ||(or) !(not)
        4. 空运算符:empty(用来判断字符串、集合、数组对象是否为null或者长度是否为0 ,例:${empty list})
    2. 获取值(EL表达式只能从域对象中获取值)

      1. 语法:

        1. ${域名称.键名称}

          1. 域名称
            1. pageScope – > pageContext
            2. requestScope -->request
            3. sessionScope --> session
            4. applicationScope --> application(ServletContext)
          <head>
              <title>Title</title>
              <%
              request.setAttribute("msg","你好");
              %>
          </head>
          <body>
              <%--获取不到数据就输出空字符串--%>
              ${requestScope.msg}
          </body>
          
      2. ${键名}:表示依次从最小的域中查找是否有该键对应的值,知道找到为止

      3. 获取对象:List集合、Map集合的值

        1. 对象:${域名称.键名.属性名};本质是去调用set和get方法

          <body>
              <%
                  User user = new User();
                  user.setAge("13");
                  user.setName("张三");
                  request.setAttribute("user",user);
              %>
              <%--获取对象中的值,本质调用getter方法,如果没有该方法就会报错--%>
              ${requestScope.user.name}
              ${requestScope.user.age}
          </body>
          
        2. List集合:${域名称.键名[索引]}

          <%
              List list = new ArrayList();
              list.add("aa");
              list.add("bb");
              list.add("cc");
              request.setAttribute("list",list);
          %>
          <%--获取集合中的值--%>
          ${requestScope.list[1]}
          
        3. Map集合: 域 名 称 . 键 名 . k e y 的 名 称 或 者 {域名称.键名.key的名称}或者 ..key{域名称.键名[”map集合中的键“]}

          <%
          Map map = new HashMap();
          map.put("name","张三");
          map.put("age","15");
          request.setAttribute("map",map);
          %>
          ${requestScope.map.name}
          

    3.隐式对象:el表达式中有11个隐式对象

    ​ pageContent:可以获取jsp的其他8个内置对象

    ​ ${pageContext.request.contextPath}:动态获取虚拟目录

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值