JSTL&EL
Posted 猿来有BUG
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSTL&EL相关的知识,希望对你有一定的参考价值。
1.EL
1.1语法定义
表达式语言,用于简化和替换我们的jsp中的java代码。
语法:${表达式} --> <%java 代码%>
1.2作用
1) 表达式运算
${10/2}
${10 div 2}
${10 == 10}
${ 10 > 5 }
2) 判断 ${empty list} ${not empty list}
3) 取值-- EL表达式主要是从域中取值的 pageContext request session application 取值
必须将值塞入四个域对象中我才可以获取值,否则取不出来
pageContext (当前的页面) < request (本次请求) < session(本次会话) < application (当前项目)
一般主要用 request/session ,其他两个基本不用。
${name} --> 从四个域中获取叫name名字的值,先从最小的域开始查找,一直查找到最大的域中。
${requestScope.name} --> 从request域中获取name值
2.JSTL
作用:作用是用于展示和判断java的数据 (if foreach choose)
- 引入两个jar 包 standard.jar jstl.jar
- 在需要引入jstl的页面,需要写表头
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
3)<c:if test="el表达式"></c:if>
<c:if test="${not empty customerList}"></c:if>
- <c:forEach >
items: 存放需要循环的集合 var 表示一个变量名,从集合中获取一个值,赋值给该变量名
varStatus :里面有两个属性 count代表该循环指定到第几次了,从1开始,index 代表每次循环的下标,从0开始
<c:forEach items="${customerList}" var="cus" varStatus="vvv">
<tr>
<td scope="row"><input type="checkbox"/></td>
<td>${vvv.count}</td>
<td>${cus.address}</td>
<td>${cus.levelName}</td>
<td>${cus.overTime}</td>
<td><a href="#"> <span class="glyphicon glyphicon-edit"></span></a></td>
<td><a href="#"> <span class="glyphicon glyphicon-trash"></span></a></td>
</tr>
</c:forEach>
取值的时候使用的是EL表达式,EL表达式为什么能获取到值?其实调用的是某个类的get方法。cus.overTime 其实调用的Customer中的getOverTime方法。 getOverTimeStr()-->OverTimeStr-->overTimeStr
以上是关于JSTL&EL的主要内容,如果未能解决你的问题,请参考以下文章