Web阶段:第十三章:EL表达式

发布时间 2023-09-08 16:34:18作者: 忘川信使

什么是EL表达式
E L的全称:Expression Language,就是表达式语言。可以输出表达式的值。跟jsp的表达式脚本一样。计算表达式的值后输出。 EL表达式出现的目的是为了使JSP写起来更加简单,让jsp的代码更佳简化。

我们先来看一下EL表达式的一个Hello world 程序,看看它是如何简化jsp代码。
EL 表达式的Hello world 程序!!!

<%@ 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>Insert title here</title>
    </head>
    <body>
    <%
        //首先我们需要在request域对象中设置一个属性
        request.setAttribute("hello", "这是内容");
    %>
    <%-- 获取请求域中的属性hello输出 --%>
    jsp的输出:<%=request.getAttribute("hello") == null ? "" : request.getAttribute("hello")%><br/><br/>
    <%-- 输出在域中查找输出hello的值 --%>
    EL表达式的输出:${hello}<br/><br/>
    </body>
    </html>

 

从上面的程序,我们不难看出。我们要输出域中的属性,方便多了。
所以el表达式使得jsp页面的代码变得更加简洁。主要用于替换 jsp 中表达式脚本。
EL表达式的最主要功能就是从域对象中获取数据,并且输出

EL表达式,获取域对象数据(*****重点)

使用EL表达式获取数据的语法: “${标识符}”

第一点:当EL表达式输出的key不存在的时候,输出的是空串””
第二点:EL表达式在域对象中搜索属性的顺序是搜索四个域对象的顺序 是从小到大,pageContext=====>>>> request=====>>>>session=====>>>>application

EL表达式可以从域对象中获取数据
1、EL表达式获取域数据的顺序
EL 表达式语句在执行时,会用标识符为关键字分别从page、request、session、application四个域中查找对应key的对象。
找到则返回相应数据。找不到则返回空串。(注意,不是null,而是空字符串)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120767466