1、el表达式格式:${expression}
2、使用jstl标签式要进行jar包导入并进行导包
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="a" %>
3、域属性相关(4个)
pageScope:从page范围域属性空间中查找指定的key
requestScope:从request范围域属性空间中查找指定的key
sessionScope:从session范围域属性空间中查找指定的key
applicationScope:从application范围域属性空间中查找指定的key
4、其他重要内置对象(4个)
1、pageContext
该pageContext与JSP内置对象pageContext是同一个对象。通过该对象,可以获取到request、response、session、servletContext、servletConfig等对象注意:这些对象在EL里不是内置对象,这些对象只能通过pageContext获取在EL中直接${pageContext.request}即可获取request对象,其底层调用的是pageContext.getRequest()方法。同理,也可以通过类似方法获取其他对象
重点:其中最常用的:${pageContext.request.contextPath },代表web应用下的根,可以看出下面action中的路径可读性更强了2、param(获取请求中的指定参数)
其底层实际调用request.getParameter()
3、paramValues
获取请求中的指定参数的所以值,其底层实际调用request.getParameterValues()
4、initParam
获取初始化参数,其底层调用的是ServletContext.getInitParameter()
5、EL访问Bean的属性
1、什么是java Bean
JavaBean是公共Java类,但是为了编辑工具识别需要满足至少三个条件有一个public默认构造器(例如无参构造器)属性使用public 的get,set方法访问,也就是说设置成private同时get,set方法与属性名的大小也需要对应。例如属性name,get方法就要写成,public String getName(){},N大写。需要序列化。这个是框架,工具跨平台反映状态必须的
2、EL访问Bean属性
EL可以通过${key.属性}的方式获取到指定值,其底层实际调用的是该对象的相应属性的get方法
6、EL中的运算符(empty)
1、几个常用运算符
算术运算符:+、-、*、/、%(不支持++、–)
关系运算符:==、!=、>、>=、<、<=
逻辑运算符:!、&&、||、not、and、or
条件运算符:?:
取值运算符:[]、点号
2、empty运算符
用法为${empty 变量},结果为布尔值
具体方法请看代码演示
index页面
<%@page import="com.zking.entity.Goods"%>
<%@page import="com.zking.biz.imp.Imp_GoodDaoBiz"%>
<%@page import="com.zking.biz.IGoodBiz"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="tyj" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
<script type="text/javascript" src="js/bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
<script type="text/javascript">
</script>
<script type="text/javascript">
//修改数量后将bid传入dogwc页面中,控制总价格
function gm(bid) {
location.href = "dogwc.jsp?bid="+bid;
}
</script>
</head>
<body>
<table class="table table-hover">
<tr>
<td>商品编号</td>
<td>商品名称</td>
<td>商品单价</td>
<td>商品介绍</td>
<td>商品图片</td>
<td>操作</td>
</tr>
<tyj:forEach items="${glist}" var="c">
<tr>
<td>${c.bid}</td>
<td>${ c.bname}</td>
<td>${ c.bprice}</td>
<td>${c.binfo }</td>
<td>
<img alt="" src="${c.bface }">
</td>
<td>
<button onclick=" gm(${c.bid})" class="btn btn-success">加入购物车</button>
</td>
</tr>
</tyj:forEach>
</table>
<a href="dospcart.jsp">进入购物车</a>
</body>
</html>
doindex页面
<%@page import="com.zking.entity.Goods"%>
<%@page import="java.util.ArrayList"%>
<%@page import="com.zking.biz.imp.Imp_GoodDaoBiz"%>
<%@page import="com.zking.biz.IGoodBiz"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
IGoodBiz ig = new Imp_GoodDaoBiz();
ArrayList<Goods> glist = ig.getall();
request.setAttribute("glist", glist);
request.getRequestDispatcher("index.jsp").forward(request, response);
%>