EL表达式

来源:互联网 发布:mac 不能剪切 编辑:程序博客网 时间:2024/06/11 17:42

怎么理解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}
原创粉丝点击