859630097com

EL&Filter&Listener-授课

1 EL表达式和JSTL

1.1 EL表达式

1.1.1 EL表达式介绍 ***

  • EL(Expression Language):表达式语言

  • 在 JSP 2.0 规范中加入的内容,也是 Servlet 规范的一部分

  • 作用:在 JSP 页面中获取数据。让我们的 JSP 脱离 java 代码块和 JSP 表达式

  • 语法:${ 表达式内容 }

  • 例如:

 

 

 

1.1.2 EL表达式的快速入门

  1. 创建一个 web 项目:el_demo,虚拟目录/el

  2. 在 web 目录下创建 el01.jsp

  3. 在文件中向域对象添加数据

  4. 使用三种方式获取域对象中的数据(java 代码块、JSP 表达式、EL 表达式)

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
       <title>EL表达式快速入门</title>
    </head>
    <body>
      <%--1.向域对象中添加数据--%>
      <% request.setAttribute("username","zhangsan"); %>

      <%--2.获取数据--%>
      Java代码块:<% out.println(request.getAttribute("username")); %> <br>

      JSP表达式:<%= request.getAttribute("username")%> <br>

      EL表达式:${username}
    </body>
    </html>
  5. 部署并启动项目

  6. 通过浏览器测试

     

     

1.1.3 EL表达式获取不同类型数据 ***

  • 要获取的数据类型

    1. 获取基本数据类型的数据

    2. 获取自定义对象类型的数据

    3. 获取数组类型的数据

    4. 获取 List 集合类型的数据

    5. 获取 Map 集合类型的数据

  • 案例:新建el02.jsp

    <%@ page import="com.itheima.bean.Student" %>
    <%@ page import="java.util.ArrayList" %>
    <%@ page import="java.util.HashMap" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
       <title>EL表达式获取不同类型数据</title>
    </head>
    <body>
      <%--1.获取基本数据类型--%>
      <% pageContext.setAttribute("num",10); %>
      基本数据类型:${num} <br>

      <%--2.获取自定义对象类型--%>
      <%
           Student stu = new Student("张三",23);
           pageContext.setAttribute("stu",stu);
      %>
      自定义对象:${stu} <br>
      <%--stu.name 实现原理 getName()--%>
      学生姓名:${stu.name} <br>
      学生年龄:${stu.age} <br>

      <%--3.获取数组类型--%>
      <%
           String[] arr = {"hello","world"};
           pageContext.setAttribute("arr",arr);
      %>
      数组:${arr}  <br>
      0索引元素:${arr[0]} <br>
      1索引元素:${arr[1]} <br>
      <%--EL表达式中没有字符串拼接--%>
      0索引拼接1索引的元素:${arr[0]} + ${arr[1]} <br>

      <%--4.获取List集合--%>
      <%
           ArrayList<String> list = new ArrayList<>();
           list.add("aaa");
           list.add("bbb");
           pageContext.setAttribute("list",list);
      %>
      List集合:${list} <br>
      0索引元素:${list[0]} <br>

      <%--5.获取Map集合--%>
      <%
           HashMap<String,Student> map = new HashMap<>();
           map.put("hm01",new Student("张三",23));
           map.put("hm02",new Student("李四",24));
           pageContext.setAttribute("map",map);
      %>
      Map集合:${map}  <br>
      第一个学生对象:${map.hm01}  <br>
      第一个学生对象的姓名:${map.hm01.name}

    </body>
    </

分类:

技术点:

相关文章: