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表达式的主要内容,如果未能解决你的问题,请参考以下文章