欢迎来真孝善网,为您提供真孝善正能量书籍故事!

深入解析:任务四——EL表达式应用指南

时间:11-15 神话故事 提交错误

其实深入解析:任务四——EL表达式应用指南的问题并不复杂,但是又很多的朋友都不太了解,因此呢,今天小编就来为大家分享深入解析:任务四——EL表达式应用指南的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

一、背景介绍

JSP2.0最重要的特性之一就是表达式语言EL(Expression Language)。受ECMAScript 和Xpath 表达式语言的启发,EL 还设计用于轻松编写无脚本JSP 页面。使用EL表达式,JSP页面可以轻松访问应用程序数据,而无需使用任何JSP声明、脚本和表达式,这使得JSP页面更易于编写。

2.知识分析

EL表达式的主要功能:获取数据、进行运算、获取Web开发常用的对。

获取Web开发的常用对:EL表达式定义了一些隐式对象。使用这些隐式对象,开发人员可以轻松获取常见Web对象的引用并获取这些对象中的数据。

基本语法:EL 表达式以${ 开头,以} 结尾。 EL表达式的结构:${表达式}

[]和.operators:EL表达式可以返回任何类型的值。如果EL 表达式的结果是具有属性的对象,则可以使用[] 或.运算符来访问其属性。即通过gerrer方法获取其属性。 [] 类似于.操作员。 [] 是一种更加标准化的形式,而.操作更加简单、快捷。请注意:如果propertyName 不是有效的Java 变量名称,则只能使用[] 运算符。如果对象的属性返回带有属性的对象,则可以使用[] 或.运算符访问第二个对象的属性。代码演示。

值规则:EL 表达式从左到右计算。

对于expr-a[expr-b]形式的表达式,EL表达式求值方法如下:

1)首先计算expr-a得到value-a

2)如果value-a为null,则直接返回null。

3)然后计算expr-b得到value-b

4) 如果value-b 为null,则返回null

5)如果value-a为Java.util.List,则需要进行如下处理:

一个。强制value-b 为int,如果不是,则抛出异常

b.如果value-a.get(value-b) 抛出IndexOutBoundsException,则返回null

c.返回value-a.get(value-b)的值

6) 如果value-a是java.util.Map,则会检查value-b是否是Map中的key。如果是,则返回value-a.get(value-b),如果不是,则返回null

7) 如果value-a 不是集合,则value-a 必须是JavaBean。在这种情况下,value-b 必须强制为String 类型。如果value-b 是String 类型。如果value-b是value-a的可读属性,则会调用该属性的getter方法返回该值。如果getter 方法抛出异常,则表达式无效。

(1)empty首先判断JSP范围内是否存在username变量。如果不是,则表达式返回true。 (2)empty 判断username变量是否为null或者长度为0的空字符串。如果是,则表达式返回true;如果username 是空集或空数组,则表达式也返回true。否则表达式将返回false。

隐式对象:

pageContext、param、paramValues、标头、headerValues、cookie、initParam、pageScope、requestScope、sessionScope、applicationScope

3. 常见问题

隐式对象的作用是什么?

4.解决方案

pageContext:JSP页面的上下文对象。它可以访问JSP隐式对象,如request、response、session、output、servletContext等。

param和paramValues用于获取请求参数值。

header 和headerValues 用于获取请求头。

cookie用于获取Cookie对象

initParam 用于获取Web 应用程序上下文参数的值。

在JSP中,JSP中存储的属性值往往是通过JSP的四个作用域对象来获取的:page、request、session和application。这四个对象获取值所使用的getAttribute("name")方法不是标准的getter方法,无法通过EL对象获取存储的属性值。因此,EL表达式提供了4个作用域隐式对象,用于获取4个作用域中存储的属性值,对应4个作用域中的取值方法。

5. 编码实践

6.拓展你的思维

pageContex可以获取请求对象,那么为什么它提供了param、paramValues等隐式对象来获取请求参数呢? request.getParameter、request.getParameterValues等方法不是标准的getter方法,因此提供了param等隐式对象来获取请求参数。

7. 参考文献

spring+mybatis企业应用实践

8.更多讨论

PPT链接:点击这里

视频链接:点击这里

今天的分享就到此为止。欢迎大家点赞、转发、留言、拍砖~

技能树。 IT培养学院

用户评论

稳妥

我开始学习EL表达式了,感觉还挺有意思的

    有8位网友表示赞同!

微信名字

想知道EL表达式的应用场景有哪些?

    有18位网友表示赞同!

心贝

有没有什么好推荐的学习资源?

    有13位网友表示赞同!

见朕骑妓的时刻

看文档里说EL表达式支持变量、运算、逻辑操作,是不是很难搞懂呀?

    有11位网友表示赞同!

一样剩余

EL表达式真像是网页模板的一个工具吧!

    有7位网友表示赞同!

安之若素

我之前遇到过一些需要动态渲染内容的情况,这好像可以使用EL表达式来解决呢。

    有6位网友表示赞同!

風景綫つ

感觉学习完EL表达式后我可以写更精妙的JSP页面了!

    有10位网友表示赞同!

矜暮

有人能告诉我哪些常用的EL表达式语法吗?

    有9位网友表示赞同!

ˉ夨落旳尐孩。

我刚开始入门,希望能找到一些简单的例子来练习。

    有14位网友表示赞同!

£烟消云散

EL表达式这种技术真的还挺重要的...

    有14位网友表示赞同!

余温散尽ぺ

想知道EL表达式在不同框架中使用的方法是否一样?

    有11位网友表示赞同!

窒息

听说EL表达式语法很简洁易懂,准备好好学一学

    有14位网友表示赞同!

殃樾晨

有没有人可以分享一下自己学习EL表达式的经验?

    有10位网友表示赞同!

巷口酒肆

感觉EL表达式对于理解web开发的原理很有帮助呢

    有19位网友表示赞同!

来自火星球的我

我现在还在琢磨EL表达式里面的条件操作

    有13位网友表示赞同!

孤街浪途

这个任务四正好是需要用到我之前学过的东西,挺好!

    有6位网友表示赞同!

走过海棠暮

期待学习完了以后能写出更复杂的模板代码!

    有11位网友表示赞同!

发呆

"EL表达式" 这三个字就听起来有点高深啊!

    有15位网友表示赞同!

没过试用期的爱~

学习完之后就可以轻松搞定一些前后的逻辑操作了吧?

    有11位网友表示赞同!

【深入解析:任务四——EL表达式应用指南】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活