目录
一,域对象
1.1.四大作用域的优先级:
在当前页面(页面没有发生跳转)
page>requesst>session>application
页面发生跳转:
requesst>session>application
1.2.四大作用域的范围:
page:只能在当前页面有效;
page<requesst<session<application
二,EL表达式
EL表达式是从四大作用域里面获取数据。
EL表达式在获取作用域里面的值的时候如果没有指定
作用域,根据作用域的优先级从高到低依次查找,如果找不到则不会继续
2.1.什么是EL
2.2.EL的功能
2.3. EL的语法
${user.name}实质是调用user的getName()方法
2.4.变量属性范围名称
属性范围 | EL中的名称 |
page | pageScope,例如${pageScope.username},表示在page范围内查找username变量,找不到返回空 |
request | requstScope |
session | sessionScope |
application | applicationScope |
2.5.EL隐式对象
对象名称 | 说 明 |
pageScope | 返回页面范围的变量名,这些名称已映射至相应的值 |
requestScope | 返回请求范围的变量名,这些名称已映射至相应的值 |
sessionScope | 返回会话范围的变量名,这些名称已映射至相应的值 |
applicationScope | 返回应用范围内的变量,并将变量名映射至相应的值 |
param | 返回客户端的请求参数的字符串值 |
paramValues | 返回映射至客户端的请求参数的一组值 |
pageContext | 提供对用户请求和页面信息的访问 |
三,JSTL
<!--插入使用核心标签的指令 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<body>
<!-- set 标签用于给变量设置值和作用范围-->
<c:set var= "example" value="${100+1}" scope="session" />
<!-- out 标签在页面上显示信息或变量值 -->
<c:out value="${example}"/>
<!-- remove 标签用于删除作用域内的变量 -->
<c:remove var= "example" scope="session"/>
</body>
forEach是for循环语句的变体,实现 集合对象(可以是list、数组等)的处理
<c:forEach var="g" items = "${listGoods}">
<tr align="center">
<td>${g.gid }</td>
<td>${g.gname }</td>
<td>${g.gprice}</td>
<td>${g.ginfo}</td>
<td>
<img src="${pageContext.request.contextPath }/static/${g.gpath }" title="商
品图片" alt="图片加载失败" />
</td>
<td>
<a href="${pageContext.request.contextPath }/addCartServlet?gid=${g.gid }">
加入购物车</a>
<a href="#">立即购买</a>
</td>
</tr>
</c:forEach>