c el表达式 java set java el表达式解析 |
您所在的位置:网站首页 › vue标签中怎么写表达式 › c el表达式 java set java el表达式解析 |
目录 为什么会有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 |