目录
一. EL表达式
1. 什么是EL表达式
EL即Expression Language (表达语言)
是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化,减少jsp页面的Java代码
2. 导入jar包
jar包和jstl的jar包已放在结尾
把jar包放在WEB-INF包下的lib里面,如果没有lib包就创建一个
3. 功能&使用方法
3.1 功能:
替代JSP页面中的复杂代码
相比在JSP中嵌入Java代码,EL应用更简单
特点:
EL得到某个数据时可以自动转换类型
对于类型的限制更加宽松
3.2 使用方法
${EL exprission}
//${bean.name}底层是调用bean的getName方法
${bean.name}或${bean['name']}
3.3EL表达式的使用特点
EL表达式是从四大作用域里面获取数据
EL表达式在获取作用域里面的值的时候如果没有指定作用域,根据作用域的优先级从高到低依次查找,如果找到则不会往后找
3.4 四大作用域
四大作用域的优先级
在当前页面(页面没有发生跳转):
page>requset>session>application
页面发送跳转:
requset>session>application
四大作用域范围:
page:只能在当前页面有效
page<requset<session<application
4. 总结
总的来说EL就是一个方便并且能在jsp页面代替Java代码的代码,它代码量少并且实用
下面是一个加入了EL表达式的web项目
<body>
<div class="container">
<h3 style="text-align: center">购物车列表</h3>
<table border="1" class="table table-bordered table-hover">
<tr class="success">
<th><input type="checkbox" id="chElt" onclick="checkOrCancelAll()"><span id="mySpan"></span></th>
<th>商品序号</th>
<th>商品名称</th>
<th>商品描述</th>
<th>商品图片</th>
<th>商品数量</th>
<th>商品总价</th>
<th>操作</th>
</tr>
<c:forEach var="s" items="listshopping">
<tr>
<td><input type="checkbox" class="interest"></td>
<td>${s.Sid()}</td>
<td>${s.Sname()}</td>
<td>${s.Sinfo()}</td>
<td><img src="../static/${s.Spath()}"></td>
<input id="${s.Sid()}" style="width: 40px;text-align: center;" type="text" value="${s.Count()}"/>
<td>总价钱</td>
<td>
<a class="btn btn-default btn-sm" href="${pageContext.request.contextPath }/goodsServlet.do">购买</a> 
<a class="btn btn-default btn-sm" href="${pageContext.request.contextPath }/shoppingServlet.do?nid=${s.Sid()}">删除</a>
<a class="btn btn-default btn-sm" href="/updateOrder.do?nid=${s.Sid()}">修改</a>
</td>
</tr>
<tr>
<td colspan="8" align="left"><a href="${pageContext.request.contextPath }/admin/xmb.jsp">返回商品页面</a></td>
<td colspan="8" align="right"><a href="${pageContext.request.contextPath }/closeServlet.do?nid=${s.Sid()}">我要结账</a></td>
</tr>
</c:forEach>
</table>
</div>
</body>
二. JSTL标签
1. 概述
JSTL:JSP Standard Tag Library的缩写,即JSP标准标签库,是sun的一套标准
JSTL是apache对EL表达式的扩展(JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,它不是JSP内置的标签,需要我们自己导包,还要指定标签库
2. JSTL标签库
我们一般称jstl标签为c标签
在JSTL的核心标签库中,包括了<c:out>、<c:set>、<c:remove>和<c:catch>等4个表达式标签
JSTL一共包含四大标签库:
core:核心标签库,我们学习的重点;
fmt:格式化标签库,只需要学习两个标签即可;
sql:数据库标签库,不需要学习了,它过时了;
xml:xml标签库,不需要学习了,它过时了
三.jar包下载
https://pan.baidu.com/s/1I5jbDdSLZ1Yi3RHzouBGdw
提取码6666