JSP中 EL表达式 JSTL表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP中 EL表达式 JSTL表达式相关的知识,希望对你有一定的参考价值。

EL(Expression Language)表达式

格式: ${  }
作用: 1)执行/计算${  }中的表达式,将结果输出到当前位置
        2)用于从四大作用域中获取数据,并将获取的数据输出到当前位置
            pageContext<request<session<application
        总结: 关于EL到作用域(map)中取数据, 是根据${}中的属性名作为key到四个作用域中去取值,
        如果取不到,接着往后查找;如果找到了,就将获取到的值输出到当前位置;如果最后四个域找完了
        也没有取到值,就什么也不输出!

        ${}这个括号里可以书写表达式、常量、变量,但不能是空的!
        <%-- ${} --%> 正确
        <!-- ${} --> 错误写法

JSTL表达式

JSTL是专门为JavaWeb开发人员所提供的一套标准通用的标签库
可以和EL表达式配合使用,取代JSP中大部分的Java代码
要使用JSTL标签库中的标签,首先需要完成以下两步操作:
1)在项目中导入JSTL的依赖
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
2)在每一个使用JSTL的JSP中引入JSTL标签库
c:forEach标签可以将EL取出来的数组、集合进行遍历显示在JSP中。

1、遍历1~100之间的所有整数, 将是3的倍数数值输出到当前位置
    <c:forEach begin="1"  end="100"  step="1"  var="i" >
        ${ i % 3 == 0 ? i : "" }
    </c:forEach>
2、遍历从request域中取出的数组或集合
    <c:forEach items="${ userList }"  var="user"  varStatus="vs">
        ${ vs.count }, ${ user.name }, ${ user.age }, ${ user.addr }<br/>
    </c:forEach>
3、c:forEach标签属性总结:
    1)begin: 定义一个起始值,表示从这个值开始遍历
    2)end: 定义一个结束值,表示到这个值结束遍历
    3)step: 定义步长,默认step="1",表示每次循环结束为var定义的变量的值自增1
    4)var: 声明一个变量,用于接收在遍历过程中的元素。
    5)items: 指定要遍历的集合或数组,如果集合或数组是存放在作用域中,
        可以使用EL先取出域中的集合或数组,再进行遍历。
    6)varStatus: 指定一个变量,用于接收表示循环遍历状态信息的对象
        例如: varStatus="vs"
        ${ vs.count } -- 返回一个数值,表示当前是第几次遍历

以上是关于JSP中 EL表达式 JSTL表达式的主要内容,如果未能解决你的问题,请参考以下文章

EL表达式

jsp中的EL表达式

EL(表达式语言)与JSTL(JSP标准标签库)

JSP常用标签——JSTL标签和EL表达式

JSP和EL&JSTL表达式

JSP中的JSTL与EL表达式用法及区别