(EL: expression language 顾名思义表达式语言 主要应用于像<%= %> 的使用,而且要更加方便快捷)
一.EL的隐形对象(默认对象)
EL 的使用主要是通过${}来执行输出的
- pageScope Map<String,Object> 它可以获取 pageContext 域中的数据
- requestScope Map<String,Object> 它可以获取 Request 域中的数据
- sessionScope Map<String,Object> 它可以获取 Session 域中的数据
- applicationScope Map<String,Object> 它可以获取 ServletContext 域中的数据
具体的获取方式就是.".“点获取或者”[]"获取:
第一种方式"."获取方式:
${pageScope.name属性} 获取到pagecontext域中相对应到value属性.
其余各域的获取方式与之相同
第二种方式“【】”获取方式:
${pageScope[“name”]}[]获取可以获取带有特殊符号到name的value值(注意:name一定要用""引起来)
pageContext对象的使用:他可以调用jsp页面中九大的隐含对象`
1.协议: ${ req.scheme }<br>
2.服务器 ip:${ pageContext.request.serverName }<br>
3.服务器端口:${ pageContext.request.serverPort }<br>
4.获取工程路径:${ pageContext.request.contextPath }<br>
5.获取请求方法:${ pageContext.request.method }<br>
6.获取客户端 ip 地址:${ pageContext.request.remoteHost }<br>
7.获取会话的 id 编号:${ pageContext.session.id }<br>
补充:
1.param Map<String,String> 它可以获取请求参数的值 (地址栏信息可以通过此方法获得)
2.paramValues Map<String,String[]> 它也可以获取请求参数的值,获取多个值的时候使用。
二、JSTL常用方法解析
使用前在jsp页面头一定要导入核心库:<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
并且导入两个jar包:
1.taglibs-standard-impl-1.2.1.jar
2.taglibs-standard-spec-1.2.1.jar
下面开始介绍常用方法:
1.<c:if test=""/>
相当于if判断方法 其中 test中值是判断条件为真执行反则不执行
2.<c:choose><c:when><c:otherwise>
相当于switch case 判断,主要用于多重判断到情况同样是test中的值为判断条件
3.<c:foreach>
这个方法也是相当的常用相当于增强for循环,主要分为以下两种情况:
/*1. 遍 历 1到 10 , 输 出begin属 性 设 置 开 始 的 索 引
end属 性 设 置 结 束 的 索 引
var属 性 表 示 循 环 的 变 量 ( 也 是 当 前 正 在 遍 历 到 的 数 据 )
for (int i = 1; i < 10; i++)*/
<c:forEach begin="1" end="10" var="i">
第${i}行
</c:forEach>
/*
2. 遍 历 Object
数 组 for (Object item: arr) items 表 示 遍 历 的 数 据 源 ( 遍 历 的 集 合 ) var 表 示 当 前 遍 历 到 的 数 据
*/
<c:forEach items="${ requestScope.arr }" var="item">
${ item } <br>
</c:forEach>
<c:otherwise> <c:choose>
<c:when test="${requestScope.height > 160}">
<h3>大于 160</h3>
</c:when>
<c:when test="${requestScope.height > 150}">
<h3>大于 150</h3>
</c:when> <c:when test="${requestScope.height > 140}">
<h3>大于 140</h3>
</c:when>
<c:otherwise> 其他小于 140 </c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>