• EL表达式学习(一)


    一、初次接触EL表达式:

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>EL表达式接触</title>
      </head>
      <body>
    	<%
    	String name = "mzy";
    	// 把变量放入域对象中           name    value
    	pageContext.setAttribute("name", name);
    	pageContext.setAttribute("name", name, PageContext.REQUEST_SCOPE);
    	 %>
    	 <%=name %>
       	<br/>
       	EL表达式:${name}
       	<br/>
       	<%-- 
       	1) 以上的写法,EL从四个域中自动搜索
       	${name} 等价于<%=pageContext.findAttribute("name") %>
       	--%>
       	
       	<%-- 
       	2) EL从指定的域中获取
       		pageScope:page域
       		requestScope:request域
       		sessionScope:session域
       		applicationScope:application域
       	 --%>
       	指定域获取的EL:${pageScope.name}
       	${name }
       	 <%
    		response.sendRedirect("04pre_04el.jsp");
    	 %>
      </body>
    </html>

    二、使用EL表达式从不同类型的容器中获得数据:

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%>
    <%@ page import="entity.*" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>EL表达式获取不同类型的数据</title>
      </head>
      <body>
       <%--
       1) 普通的字符串
        --%>
        <%
        	String email = "zhangsan@qq.com";
        	// 一定要把数据放入域中
        	pageContext.setAttribute("email", email);
         %>
        	 普通字符串:${email }
         <hr/>
         <%--
         2) 普通的对象
         EL表达式的属性表示调用对象的getXX方法。例如
         stu.name 调用Student对象的getName()方法 
          --%>
          <%
          Student stu = new Student("mzy", "123456");
          pageContext.setAttribute("stu", stu);
           %>
           普通的对象:${stu} <br/>
           对象的属性: ${stu.name } ---- ${stu.id }  
        <hr/>
        <%--
        3) 数组或List集合(集合只能是List集合)
         --%>
         <%
         	// 数组
         	Student[] stus = new Student[3];
         	stus[0] = new Student("Jack", "123456");
         	stus[1] = new Student("Bob", "123456");
         	stus[2] = new Student("Rose", "123456");
         	
         	pageContext.setAttribute("stus", stus);
         	// List
         	List<Student> list = new ArrayList<Student>();
         	list.add(new Student("Jack", "654321"));
         	list.add(new Student("Bob", "654321"));
         	list.add(new Student("Rose", "654321"));
         	pageContext.setAttribute("list", list);
          %>
          <%--
          		在EL表达式中,不能循环,取元素只能单个单个的取		
           --%>
           	数组:<br/>
           ${stus[0].name } -- ${stus[0].id }<br/>
           ${stus[1].name } -- ${stus[1].id }<br/>
           ${stus[2].name } -- ${stus[2].id }<br/>
           <hr/>
           list集合:<br/>
           ${list[0].name } -- ${list[0].id }<br/>
           ${list[1].name } -- ${list[1].id }<br/>
           ${list[2].name } -- ${list[2].id }<br/>
           <hr/>
           <%--
            4) Map集合     
              --%>
              <%
              	Map<String,Student> map = new HashMap<String,Student>();
              	map.put("001",new Student("eric","123456"));
              	map.put("002",new Student("jacky","123456"));
              	map.put("003",new Student("rose","123456"));
              	pageContext.setAttribute("map",map);
               %>
               Map集合: <br/>
               ${map['001'].name } - ${map['001'].id }<br/>
               ${map['002'].name } - ${map['002'].id }<br/>
               ${map['003'].name } - ${map['003'].id }<br/>
      </body>
    </html>
    

    三、EL中可执行的算式:

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false" %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>EL中可以执行的算式</title>
      </head>
      <body>
       <%--
       	1) 算数表达式: + - * /
        --%>
       <%
       		int a = 10;
       		int b = 5;
       		pageContext.setAttribute("a", a);
       		pageContext.setAttribute("b", b);
        %>
        ${a+b }<br>
        ${a-b }<br>
        ${a*b }<br>
        <hr>
        
        <%-- 
        2) 比较表达式:> < >= <=	
         --%>
        ${a>b }<br>
        ${a==b }<br>
        <hr>
        
        <%--
        3) 逻辑表达式: &&、||、! 
        --%>
        ${true&&true }<br>
        ${true||false }<br>
        ${!true }<br>
        ${!(a>b) }
        <hr/>
    	<%--
    	4) 判空表达式	empty
    		null: == null
    		空字符串:==""
    	 --%>    
        <%
        // String name = null;
        String name01 = null;
        String name02 = "";
        pageContext.setAttribute("name01", name01);
        pageContext.setAttribute("name02", name02);
         %>
         null:${name01 == null }<br>
               空字符串:${name02 == "" }<br>
         null或空字符串:${name01 == null || name01 =="" }<br>
         null或空字符串可以直接用empty进行判断:${empty name01 }
      </body>
    </html>
    




  • 相关阅读:
    ACwing 199 约数之和
    Acwing 222 青蛙的约会
    Acwing 220 最大公约数
    Acwing 200 Hankson的趣味题
    牛客 同余方程
    Acwing 198 反素数
    2020牛客多校 第六场B
    牛客 计数器
    Java基础-快捷键以及DOS命令
    A1111 Online Map (30分)(最短路径、Dijkstra+DFS)
  • 原文地址:https://www.cnblogs.com/mzywucai/p/11053509.html
Copyright © 2020-2023  润新知