当前位置:网站首页 > 技术博客 > 正文

jsp el表达式foreach



本文主要内容: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表达式,有以下两种方法实现:

  1. 设置jsp中page指令中:属性 忽略当前jsp页面中所有的EL表达式
  2. :在$符号前面加上反斜杠,表示忽略当前这个EL表达式。


5.EL表达式使用

5.1 运算

表达式中支持以下运算符:

  1. 算数运算符: +   -    *    /(或div)    %(或mod)
  2. 比较运算符: >   <    >=   <=    ==    !=
  3. 逻辑运算符: &&(and)    ||(or)    !(not)
  4. 空运算符: empty


空运算符empty的功能比较强大:

  • 功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0
  • :判断字符串、集合、数组对象是否为null或者长度为0
  • :表示判断字符串、集合、数组对象是否不为null 并且 长度>0

例子:elDemo1.jsp

 

访问elDemo1.jsp

在这里插入图片描述






5.2 获取值

EL表达式只能从域对象中获取值。

语法:

1.:从指定域中获取指定键的值。

常见域有:

域名称 对应的域 pageScope pageContext域 requestScope request域 sessionScope session域 applicationScope application(ServletContext)全局域

域大小: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.使用步骤

  1. 导入jstl相关jar包
  2. 在JSP页面中引入标签库:taglib指令:
  3. 使用标签

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中的属性:

  • :开始值
  • :结束值
  • :临时变量
  • :步长
  • :循环状态对象,状态对象的属性:
    1. :容器中元素的索引,从0开始
    2. :循环次数,从1开始

2.遍历容器(集合等)

Java中遍历List集合:

 

等价于forEach标签:

 

属性介绍:

  • :容器对象
  • :容器中元素的临时变量
  • :循环状态对象,状态对象的属性:
    1. :容器中元素的索引,从0开始
    2. :循环次数,从1开始

例子:jstlDemo3.jsp

 

访问jstlDemo3.jsp

在这里插入图片描述






5.EL和JSTL标签练习

需求:在request域中有一个存有User对象的List集合。需要使用jstl+el技术将List集合数据展示到jsp页面的表格table中。

 

代码实现:jstlTest.jsp

 

访问jstlTest.jsp

在这里插入图片描述
练习完成,到这对EL表达式和JSTL标签理解应该比较清晰了。



欢迎点赞评论,指出不足,笔者由衷感谢哦!~










版权声明


相关文章:

  • 国内最快的DNS2025-07-22 19:29:59
  • win10自动检查并修复2025-07-22 19:29:59
  • nginx最全教程2025-07-22 19:29:59
  • oracle数据泵详解2025-07-22 19:29:59
  • c语言b!=02025-07-22 19:29:59
  • mysql 数据表设计应注意的事项2025-07-22 19:29:59
  • c语言以eof结束2025-07-22 19:29:59
  • 指标体系包括什么2025-07-22 19:29:59
  • 线程安全的含义2025-07-22 19:29:59
  • gif制作软件app免费2025-07-22 19:29:59