本文主要内容:1.EL表达式;2.JSTL:JSP标准标签库
JSTL仅是JSP表达式语言,而EL既是HTML也是JSP表达式语言,全称是Expression Language。 在JavaScript中也可以使用EL表达式。
JSP的代码块实在令人不忍直视,拆分标签、嵌入式写代码让人非常不习惯。EL表达式和JSTL出现,让JSP有了一丝顺滑。
1.概念
EL:Expression Language 是一种表达式语言。
2.作用
EL是用来替换和简化jsp页面中java代码的编写。
3.语法
语法格式:
4.注意事项
JSP默认支持EL表达式的。如果要忽略EL表达式,有以下两种方法实现:
- 设置jsp中page指令中:属性 忽略当前jsp页面中所有的EL表达式
- :在$符号前面加上反斜杠,表示忽略当前这个EL表达式。
5.EL表达式使用
5.1 运算
表达式中支持以下运算符:
- 算数运算符: + - * /(或div) %(或mod)
- 比较运算符: > < >= <= == !=
- 逻辑运算符: &&(and) ||(or) !(not)
- 空运算符: empty
空运算符empty的功能比较强大:
- 功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0
- :判断字符串、集合、数组对象是否为null或者长度为0
- :表示判断字符串、集合、数组对象是否不为null 并且 长度>0
例子:elDemo1.jsp
访问elDemo1.jsp

5.2 获取值
EL表达式只能从域对象中获取值。
语法:
1.:从指定域中获取指定键的值。
常见域有:
域大小:pageContext < request < session < application(ServletContext)
例子:在request域中存储了【name=张三】的数据。
整个值为张三
2.简化的语法
- :表示依次从最小的域中查找是否有该键名对应的值,直到找到为止。没有则不显示
例子:elDemo2.jsp
访问elDemo2.jsp

5.3 获取对象、List集合、Map集合的值
1.获取对象
语法:
- :域中某个键的值是一个对象。
- :获取对象的属性值, 本质上会去调用对象的getter方法。
2.List集合
语法:
- :域中某个键的值是一个List对象。加上索引可以获取到集合中对应的值。
3.Map集合
获取Map集合中的值有两种方式:
例子:elDemo3.jsp
访问elDemo3.jsp

5.4 使用隐式对象
EL表达式中有11个隐式对象,不常用到,了解其中一个就可以了:
- pageContext:获取JSP其他八个内置对象
pageContext对象常用于动态获取虚拟目录。:动态获取虚拟目录。
例子:elDemo4.jsp
访问elDemo4.jsp

1.概念
,JSP标准标签库。
是由Apache组织提供的开源的免费的jsp标签,<标签>。
2.作用
也是用于简化和替换jsp页面上的java代码。
3.使用步骤
- 导入jstl相关jar包
- 在JSP页面中引入标签库:taglib指令:
- 使用标签
jstl相关jar包下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
拉到下面下最新版

下完解压后进入lib文件夹把两个jar复制到你项目的lib里面并导入项目

4.常用的JSTL标签
4.1 if:相当于java代码的if语句
属性有:
- test :必须属性,接受boolean表达式。
- 如果boolean表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容。
- 一般情况下,test属性值会结合el表达式一起使用。
例子:jstlDemo1.jsp
访问jstlDemo1.jsp

4.2 choose:相当于java代码的switch语句
- 使用标签声明:相当于switch声明
- 使用标签做判断:相当于case
- 使用标签做其他情况的声明:相当于default
例子:jstlDemo2.jsp
访问jslDemo2.jsp

4.3 foreach:相当于java代码的for语句
1.完成重复的操作
等价于Java中:
forEach中的属性:
- :开始值
- :结束值
- :临时变量
- :步长
- :循环状态对象,状态对象的属性:
- :容器中元素的索引,从0开始
- :循环次数,从1开始
2.遍历容器(集合等)
Java中遍历List集合:
等价于forEach标签:
属性介绍:
- :容器对象
- :容器中元素的临时变量
- :循环状态对象,状态对象的属性:
- :容器中元素的索引,从0开始
- :循环次数,从1开始
例子:jstlDemo3.jsp
访问jstlDemo3.jsp

5.EL和JSTL标签练习
需求:在request域中有一个存有User对象的List集合。需要使用jstl+el技术将List集合数据展示到jsp页面的表格table中。
代码实现:jstlTest.jsp
访问jstlTest.jsp

练习完成,到这对EL表达式和JSTL标签理解应该比较清晰了。
欢迎点赞评论,指出不足,笔者由衷感谢哦!~
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/700.html