EL表达式

怎么理解EL表达式。(它是什么)
  • 其实就是一种语法,存在于JSP中。更官方的语言就是:是一种简单的数据访问语言
EL表达式有什么作用(知道它能做什么就大概知道在什么时候应用)
  • 就是为了简化JSP中嵌入代码。更严格的说其实就是为了简化大量的JSP脚本
在代码中如何体现(实际操作)
  • 语法格式: 如:${} 注意:只有JSP可以使用,不能使用在HTML中
  • 数据的读取

    • EL表达式能做的就是读数据 注意:EL表达式不能读取JSP中的变量
    • EL读取String

      <%@page import="java.util.Date"%>
      <%@ page language="java" contentType="text/html; charset=UTF-8"
          pageEncoding="UTF-8"%>
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>EL读取简单的数据</title>
      </head>
      <body>
          <%
              request.setAttribute("str", "加油!");
          %>
          ${str}
      </body>
      </html>
      
    • EL读取String数组

      <%@page import="java.util.Date"%>
      <%@ page language="java" contentType="text/html; charset=UTF-8"
          pageEncoding="UTF-8"%>
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>EL读取String[]</title>
      </head>
      <body>
          <%
              String[] str = {"1","2","3"};
              request.setAttribute("str",str);
          %>
          <%--读取整个数组 --%>
          ${str} </br>
          <%--读取某个值 --%>
          ${str[1]}
      </body>
      </html>
      
    • EL读取Map集合

      <%@page import="java.util.HashMap"%>
      <%@page import="java.util.Date"%>
      <%@ page language="java" contentType="text/html; charset=UTF-8"
          pageEncoding="UTF-8"%>
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>EL读取Map</title>
      </head>
      <body>
          <%
              HashMap<String,String> hm = new HashMap<String,String>();
              hm.put("name", "小明");
              hm.put("007", "发哥");
              hm.put("ha ha", "呵呵呵");
              request.setAttribute("hm", hm);
          %>
          1、获取Map集合${hm }</br>
          2、获取第一个值${hm.name } 或者 ${hm[name] }</br>
          3、获取第二个值只能这种方式${hm["007"] }</br>
          4、获取第三个值也只能这种方式${hm["ha ha"] }
      </body>
      </html>
      
    • 获取类中的属性

      <%@page import="test06.Prision"%>
      <%@page import="java.util.HashMap"%>
      <%@page import="java.util.Date"%>
      <%@ page language="java" contentType="text/html; charset=UTF-8"
          pageEncoding="UTF-8"%>
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>EL读取类</title>
      </head>
      <body>
          <%
              Prision p = new Prision("明明",12);
              request.setAttribute("pri", p);
          %>
          1、获取对象${pri }</br>
          2、获取姓名属性${pri.name }</br>
          3、获取年龄属性${pri.age }
      </body>
      </html>
      
  • 数据的运算

    <%@page import="test06.Prision"%>
    <%@page import="java.util.HashMap"%>
    <%@page import="java.util.Date"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>EL读取类</title>
    </head>
    <body>
        <%
            request.setAttribute("num1", "1");
            request.setAttribute("num2", "2");
            request.setAttribute("str1", 10);
            request.setAttribute("str2", 20);
        %>
        1、获取num1和num2的和${num1+num2 }
        2、获取num1和身str1的和${num1+str1 }
        3、获取str1和str2的和${str1+str2 }
    </body>
    </html>
    
    ===================================
    
    <%@page import="test06.Prision"%>
    <%@page import="java.util.HashMap"%>
    <%@page import="java.util.Date"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>关系运算符</title>
    </head>
    <body>
        <%
            request.setAttribute("num1", "1");
            request.setAttribute("num2", "2");
            request.setAttribute("str1", 10);
            request.setAttribute("str2", 20);
        %>
        ${num1==num2 }或者${num1 eq num2 }
        ${!(num1==num2) }或者${not(num1 eq num2) }
        三元运算符${num1==num2?"相等":"不相等" }
    </body>
    </html>
    
  • 数据的判断

    <%@page import="test06.Prision"%>
    <%@page import="java.util.HashMap"%>
    <%@page import="java.util.Date"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>判断是否为空</title>
    </head>
    <body>
        <%
            String str1 = "1";
            String str2="";
            String str3=null;
            int num1=10;
            int num2=0;
        %>
        ${!empty str1 }
        ${empty str2 }
        ${empty str3 }
        ${empty num1 }
        ${empty num2 }
    </body>
    </html>
    
  • 常见EL表达式对象

    • 重点的
      • 请求参数
        • param
          • 例:${param.xxx}
        • pageContext
          • 是项目上下文对象ServletContext
        • cookie
          • ${cookie.cookie名.value}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值