c el表达式 java set java el表达式解析

您所在的位置:网站首页 vue标签中怎么写表达式 c el表达式 java set java el表达式解析

c el表达式 java set java el表达式解析

2023-07-05 16:14| 来源: 网络整理| 查看: 265

目录

为什么会有EL表达式?

什么是EL表达式?

EL表达式的作用?

EL表达式的四大域对象 

EL表达式从域中取对象底层是如何实现的?

如果我们没有向域中存数据,还要取数据,结果会是什么?

EL表达式的语法格式?

 引入一个面试题:

EL表达式的运算符?

为什么会有EL表达式?

在没有学习EL表达式之前,我们会将java代码写到JSP文件中的JSP语法中,这样会让JSP中夹杂着各种java代码,例如、等,导致JSP文件很混乱,不好看,这样虽然可以但是给人感觉很蠢,违背了简介的原则,很乱如果有大量代码之后会很难在后期维护;

抱着简洁JSP中的java代码的初衷,所以才有了后期的EL表达式。

什么是EL表达式?

     EL表达式,全称是Expression Language。意为表达式语言。它是Servlet规范中的一部分,是JSP2.0规范加入的内容。其作用是用于在JSP页面中获取数据,从而让我们的JSP脱离java代码块和JSP表达式。

EL表达式的作用?

EL表达式的作用主要有三点:

1,从域中取数据;

2,将数据转换为字符串;

                如果是一个java对象,也会自动调用java对象的toString方法将其转换成字符串。3,将数据输出到浏览器页面;

               和这个一样:,将其输出到浏览器。

EL表达式的四大域对象 pageContextrequestsessionapplication四大域对象范围比较,pageContext < request < session < applicationEL表达式中有四个隐含的隐式的范围:pageScope 对应的是 pageContext范围。requestScope 对应的是 request范围。sessionScope 对应的是 session范围。applicationScope 对应的是 application范围。EL表达式从域中取对象底层是如何实现的?

EL表达式从域中取数据优先从小的域中取数据,小的域中如果没有就会去更大的域中去取数据,次序依次是:PageContext-->session-->request-->Application;

举例说明:

${username}

页面显示:李四

为什么,没有zhangsan呢?,你可以这样理解你在向域中存数据是是存到域中的一个内置map集合中了,map集合中key是唯一的,如果加入相同的key,会覆盖上一次的values;如果想要存只能创建不同的key;

如果我们没有向域中存数据,还要取数据,结果会是什么? ${location} ${null}

 页面显示:空白

为什么会是这样呢?因为EL表达式对null值作了特殊处理;如果是null,则向浏览器输出一个空字符串。

EL表达式的语法格式?

EL表达式的语法格式很简单,如下:

${Java代码}

案例:比如我们在JSP页面,从request域中取出数据;

${username} 引入一个面试题:

面试题:     ${abc} 和 ${"abc"}的区别是什么?         ${abc}表示从某个域中取出数据,并且被取的这个数据的name是"abc",之前一定有这样的代码: 域.setAttribute("abc", 对象);         ${"abc"} 表示直接将"abc"当做普通字符串输出到浏览器。不会从某个域中取数据了。

EL表达式的运算符?

EL表达式中的运算符值得注意只有empty和not,其余都和Java的运算符使用方法一致;

运算符

作用

empty

1、判断对象是否为null

2、判断字符串是否为空字符串

3、判断容器元素是否为0

条件 ?表达式1 : 表达式2

三元运算符

not

取反



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3