EL表达式和JSTL标签库是JSP与后端数据操作的手段或者方式。
EL表达式和JSTL标签库都是为JSP服务的,简化了JSP界面对数据的处理。
EL表达式是简化JSP的输出的,简化获取域中的值的方式。
JSTL是集合了判断、遍历JSP的内置对象的内容,EL表达式取域中的值
学jQuery,Ajax更加简便。
一、EL(Expression Language)表达式
1、EL表达式语言,用于简化JSP的输出,主要是对JSP的内置对象里面的域内容进行输出。
EL表达式的基本语法:${表达式}。比如向request存入一个集合list:
List<Student> list = new ArrayList<Student>();
Student stu = new Student();
stu.setName("zhangsan");
stu.setAge(18);
list.add(stu);
request.setAttribute("list",list);
此时使用EL表达式取出来其中的值 ${list},相当于JSP里面的输出<%=request.getAttribute("list")%>
2、作用域对象:
EL表达式内置的四种作用域对象。
他们可以读取使用jsp内置对象pageContext、request、session、以及application的setAttribute()方法所设定的对象的数值,即获取域中的值getAttribute(String name)。
Page:PageScope。使用的方式${pageScope.request_name}
Request:RequestScope,使用方式${requestScope.request_name},相当于<%=request.getAttribute("request_name")%>
Session:SessionScope,使用方式${sessionScope.session_name},相当于<%=session.getAttribute("session_name")%>
Application:ApplicationScope,使用方法${applicationScope.application_name},相当于<%=application.getAttribute("application_name")%>
3、EL表达式的输出:
语法:${作用域.属性名.子属性名},EL表达式支持运算结果的输出,本质实行的是toString()。EL表达式为空的话,输出的结果也为空。
二、JSTL标签库
jstl是JSP的第三方标签库,需要引入第三方jar包。
核心标签库(core)是JSTL最重要的标签库,提供了JSTL的基础功能。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
①判断标签:
1)单分支判断:<c:if> </c:if>
2)多分支判断:
<c:choose>
<c:when>
代码段
</c:when>
<c:otherwise>
代码段
</c:otherwise>
</:choose>
②遍历集合
// var 是给items的元素起别名 , items是获取域中的值
<c:foreach var="list" items="${list}">
</c:foreach>